芒果视频下载

分布式系統面臨的挑戰有哪些 分布式系統帶來的問題及解答

本文章由注冊用戶 知無涯 上傳提供 2024-11-30 評論 0
摘要:分布式系統建立在網絡上,而網絡是不可靠的,可能的網絡問題包括:網絡分割、延時、丟包、亂序等,這些會給分布式系統帶來挑戰,除此之外,異構的機器與網絡、普遍的節點故障也是分布式系統面臨的主要挑戰之一。分布式系統工作過程中,還會帶來一些問題,比如如何找到所需的服務、如何避免雪崩、如何對系統進行監控等。下面一起來看看分布式系統面臨的挑戰有哪些以及分布式系統帶來的問題及解答吧。

一、分布式系統面臨的挑戰有哪些

分布式系統需要(yao)大量機器協作,面臨(lin)諸多(duo)的挑戰,其中主要(yao)的挑戰有(you):

1、異構的機器與網絡

分布式系統中的機(ji)器,配置不(bu)一(yi)樣,其上運(yun)行的服(fu)務也可能(neng)(neng)由(you)不(bu)同的語言、架構實(shi)現,因此處理(li)能(neng)(neng)力也不(bu)一(yi)樣;節點間通過(guo)網(wang)(wang)絡連接,而(er)不(bu)同網(wang)(wang)絡運(yun)營商提供的網(wang)(wang)絡的帶(dai)寬、延時(shi)、丟(diu)包率又不(bu)一(yi)樣。怎么保證大家齊頭并進,共同完成(cheng)目標,這是個不(bu)小的挑戰。

2、普遍的節點故障

雖然單(dan)個節點(dian)的(de)故(gu)障概(gai)率較(jiao)低,但節點(dian)數目達到(dao)一定規模(mo),出故(gu)障的(de)概(gai)率就變高了。分布式系統(tong)需要(yao)保證故(gu)障發生(sheng)的(de)時(shi)候(hou),系統(tong)仍然是(shi)可用的(de),這就需要(yao)監控節點(dian)的(de)狀(zhuang)態,在節點(dian)故(gu)障的(de)情況(kuang)下將該節點(dian)負責的(de)計算、存儲任務轉移(yi)到(dao)其他節點(dian)。

3、不可靠的網絡

節(jie)(jie)點(dian)間(jian)通(tong)(tong)過網絡(luo)通(tong)(tong)信,而網絡(luo)是(shi)不(bu)可靠(kao)的。可能的網絡(luo)問題包(bao)括:網絡(luo)分(fen)割、延時(shi)(shi)、丟包(bao)、亂序(xu)。相(xiang)比單(dan)機過程調(diao)用,網絡(luo)通(tong)(tong)信最(zui)讓人頭疼(teng)的是(shi)超時(shi)(shi):節(jie)(jie)點(dian)A向節(jie)(jie)點(dian)B發出請(qing)(qing)求,在約定的時(shi)(shi)間(jian)內(nei)沒有收到節(jie)(jie)點(dian)B的響應,那么(me)B是(shi)否處理了請(qing)(qing)求,這(zhe)個是(shi)不(bu)確定的,這(zhe)個不(bu)確定會(hui)帶來(lai)諸多問題,最(zui)簡單(dan)的,是(shi)否要重試(shi)請(qing)(qing)求,節(jie)(jie)點(dian)B會(hui)不(bu)會(hui)多次處理同一個請(qing)(qing)求。

總而言之(zhi),分(fen)布式(shi)的(de)(de)挑戰(zhan)來自不(bu)確(que)(que)定(ding)(ding)性(xing),不(bu)確(que)(que)定(ding)(ding)計算機什么時(shi)候(hou)crash、斷電,不(bu)確(que)(que)定(ding)(ding)磁(ci)盤(pan)什么時(shi)候(hou)損壞,不(bu)確(que)(que)定(ding)(ding)每次網絡通信(xin)要延遲多(duo)久(jiu),也(ye)不(bu)確(que)(que)定(ding)(ding)通信(xin)對(dui)端是否(fou)處理(li)了發送的(de)(de)消息。而分(fen)布式(shi)的(de)(de)規模(mo)放(fang)大了這個不(bu)確(que)(que)定(ding)(ding)性(xing),不(bu)確(que)(que)定(ding)(ding)性(xing)是令(ling)人討厭的(de)(de),所以有諸多(duo)的(de)(de)分(fen)布式(shi)理(li)論(lun)、協議來保證在這種不(bu)確(que)(que)定(ding)(ding)性(xing)的(de)(de)情況下(xia),系統(tong)還能繼(ji)續正常(chang)工(gong)作。

二、分布式系統帶來的問題及解答

1、如何找到所需的服務?——服務發現組件

問(wen)題描述:線上(shang)生產環境(jing)中,尤其容器(qi)部(bu)署情況下服務實(shi)例地址(zhi)(服務器(qi)端口)是動態分配的,服務調用(yong)者無(wu)法提前(qian)獲(huo)取(qu)服務實(shi)例地址(zhi)和端口。

解(jie)決方案:在服務(wu)運(yun)行時(shi),通過(guo)服務(wu)發(fa)現組(zu)件解(jie)析服務(wu)名來獲取(qu)服務(wu)實例地址和(he)端(duan)口。

2、如何找到實例?——請求分發的策略

問題(ti)描述:找到服務器(qi)后,還應(ying)該確定將當前請求發往(wang)服務器(qi)的哪一個實(shi)例。

解決方案:

(1)如(ru)果(guo)同一個服務的實例都是完(wan)全對等的(無狀(zhuang)態),那么(me)按負載(zai)均衡(heng)策(ce)略(lve)來處理就足夠(隨(sui)機、輪(lun)詢(xun)、權(quan)重、hash、一致性hash、fair等各種策(ce)略(lve))。

(2)如(ru)果同一個服(fu)(fu)務(wu)的(de)(de)實例不是(shi)對等的(de)(de)(有狀態),那么需要通過路由(you)服(fu)(fu)務(wu)(元數據服(fu)(fu)務(wu)等)先(xian)確(que)定當前要訪問(wen)的(de)(de)請求數據在哪一個實例上,然后(hou)再(zai)進(jin)行訪問(wen)。

3、如何避免雪崩?

問題(ti)描述:一個(ge)故障由于(yu)正反饋不斷被擴大,從而導致整(zheng)個(ge)系統(tong)故障

解決方案:

(1)【快速失敗】和(he)【降級機(ji)制】:熔斷、降級、限流等,通過快速減(jian)少系統負載來避免雪崩的發(fa)生。

(2)【彈性(xing)擴容機制(zhi)】,通過快速增加系統的服務(wu)能力(li)來避免雪崩(beng)的發生。

4、如何對系統進行監控?

問題描述:對于一個分布式系統,如(ru)果我們不能很清楚地了(le)解內部的狀態,那么(me)高可用是(shi)沒有辦法完全保障的。

解決方案(an):監(jian)控系統(tong)的各層

(1)【硬件層面】:服務(wu)器溫度、磁盤RAID陣列等。

(2)【系統層面】:存活狀態、CPU、RAM、load負載。

(3)【應用層】:mysql、Nginx、Django、LVS、HAProxy。

(4)【業務(wu)層面】:PV、UV、訂(ding)單。

5、分布式存儲如何做數據切片?

問(wen)題描述:既然要實現分布式數據庫,那么應該如何將數據進行切(qie)片?

解決方案(an):Hash、Consistent Hash和Range Based分片策(ce)略。

6、如何設置冗余?如何復制數據?

問題描述(shu):分布式存儲的高可用(yong)性需(xu)要(yao)冗余來保證,那(nei)么如何(he)做冗余?如何(he)對(dui)數據進行復制、更新時(shi)保證兩(liang)份數據的一致(zhi)性?

解決方案:

(1)【中心化方(fang)案】:主從復制、一致性協議(Raft和Paxos)。

(2)【去中心化的方案】:Quorum、Vector Clock。

網站提醒和聲明
本站(zhan)為注冊用(yong)(yong)戶(hu)提供信(xin)息存儲空間服務,非“MAIGOO編輯(ji)”、“MAIGOO榜單研究員(yuan)”、“MAIGOO文(wen)(wen)章(zhang)編輯(ji)員(yuan)”上傳(chuan)(chuan)提供的文(wen)(wen)章(zhang)/文(wen)(wen)字均(jun)是注冊用(yong)(yong)戶(hu)自主發(fa)布(bu)上傳(chuan)(chuan),不代表本站(zhan)觀點,版權歸原(yuan)作者所有,如有侵權、虛假信(xin)息、錯誤信(xin)息或任(ren)何問題(ti),請及時聯系(xi)我(wo)們,我(wo)們將在(zai)第一時間刪(shan)除或更(geng)正。 申請刪除>> 糾錯>> 投訴侵權>> 網頁上相關信息(xi)的知識產權(quan)(quan)歸網站方所(suo)有(包括但不(bu)限(xian)于文字、圖(tu)片、圖(tu)表、著作權(quan)(quan)、商標權(quan)(quan)、為用(yong)戶提供的商業(ye)信息(xi)等),非經許(xu)可(ke)不(bu)得抄襲或使(shi)用(yong)。
提(ti)交說明: 快速提交發布>> 查看提交幫助>> 注冊登錄>>
您還未登錄,依《網絡安全法》相關要求,請您登錄賬戶后再提交發布信息。點擊登錄>>如您還未注冊,可點擊注冊>>,感謝您的理解及支持!
發表評論
最新評論
暫無評論
相關推薦
什么是分布式儲能系統 分布式儲能在電力系統的應用場景
隨著可再生能源的擴展,越來越有必要將不斷變化、間歇式的電力輸出轉變成更穩定和可靠的電力供應。分布式儲能系統通過調節負荷,吸收電力峰值,在電力供應突然降低時注入電力,就地能源存儲可以緩解由可再生能源生產輸出所造成的電源波動。分布式儲能系統接入位置靈活,目前多在中低壓配電網、分布式發電及微電網、用戶側應用。
十大分布式系統品牌 分布式音視頻系統品牌排行
分布式系統什么牌子好?經專業評測的十大分布式系統品牌名單發布啦!上榜分布式系統十大品牌榜單和著名分布式系統品牌名單的是口碑好或知名度高、有實力的品牌,排名不分先后,僅供借鑒參考,想知道什么牌子的分布式系統好?您可以多比較,選擇自己滿意的!
分布式系統的CAP理論是什么 分布式系統CAP特性如何取舍
分布式系統的CAP理論是指一個分布式系統不可能同時滿足數據一致性、服務可用性和分區容錯性這三個基本需求,最多只能同時滿足其中的兩個,這一理論深刻影響著分布式系統的發展,在實際應用中,分布式系統會根據需求舍棄其中一個特性,大多數都是犧牲了一致性。下面一起來了解一下分布式系統的CAP理論是什么以及分布式系統CAP特性如何取舍吧。
如何判別分布式系統的優劣 判斷分布式管控系統優劣的七大標準
分布式系統在各行各業的應用越來越廣泛,市面上的分布式系統產品也比較多,主要可以通過看核心技術、看功能覆蓋、看畫面還原度、看大屏同步性、看坐席延時性、看集中管控、看運維管理七個方面來判斷其優劣。下面一起來看看如何判別分布式系統的優劣以及判斷分布式管控系統優劣的七大標準吧。
分布式系統的技術棧分析 分布式管理系統常用技術和應用場景
分布式系統是一種復雜的系統,應用過程中會衍生出很多分布式需求,為了應對這些需求,分布式系統的技術棧主要有分布式通信技術、分布式資源管理和負載調度技術、分布式協調與同步技術、分布式存儲技術等,不同的技術在應用場景方面也有所不同,下面一起來看看分布式系統的技術棧分析以及分布式管理系統常用技術和應用場景吧。