芒果视频下载

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

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

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

分布式系統需(xu)要大量機器(qi)協作,面(mian)臨諸多的(de)挑戰,其中主要的(de)挑戰有:

1、異構的機器與網絡

分布(bu)式(shi)系統中的(de)(de)機器,配(pei)置不一樣,其上運行的(de)(de)服務也(ye)可能由不同(tong)的(de)(de)語言、架構實現,因此處理能力也(ye)不一樣;節點間通過網絡連接,而(er)不同(tong)網絡運營商(shang)提供的(de)(de)網絡的(de)(de)帶寬(kuan)、延時(shi)、丟(diu)包率(lv)又不一樣。怎么保(bao)證大(da)家(jia)齊頭(tou)并進,共(gong)同(tong)完成(cheng)目(mu)標,這是個不小(xiao)的(de)(de)挑(tiao)戰。

2、普遍的節點故障

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

3、不可靠的網絡

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

總而言之,分布(bu)式的(de)挑戰來(lai)自不(bu)確(que)定(ding)(ding)性,不(bu)確(que)定(ding)(ding)計算(suan)機什么(me)時(shi)候(hou)crash、斷電,不(bu)確(que)定(ding)(ding)磁盤什么(me)時(shi)候(hou)損壞,不(bu)確(que)定(ding)(ding)每次網絡(luo)通信(xin)要(yao)延遲多久,也不(bu)確(que)定(ding)(ding)通信(xin)對端是(shi)否處理了發送的(de)消(xiao)息(xi)。而分布(bu)式的(de)規模放大了這(zhe)個不(bu)確(que)定(ding)(ding)性,不(bu)確(que)定(ding)(ding)性是(shi)令人(ren)討厭的(de),所以(yi)有(you)諸多的(de)分布(bu)式理論、協(xie)議來(lai)保證在這(zhe)種不(bu)確(que)定(ding)(ding)性的(de)情況(kuang)下,系統還能(neng)繼續正常工作。

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

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

問題描述:線上生(sheng)產環境中,尤(you)其容(rong)器(qi)部署情(qing)況(kuang)下服(fu)(fu)務實例地址(zhi)(服(fu)(fu)務器(qi)端(duan)口(kou))是動態分配的,服(fu)(fu)務調用者無(wu)法提前獲取服(fu)(fu)務實例地址(zhi)和端(duan)口(kou)。

解決(jue)方案:在服務運行時,通過服務發現(xian)組件解析服務名(ming)來獲取(qu)服務實(shi)例地(di)址和端口。

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

問(wen)題描述:找到服務(wu)器(qi)后,還應該確定將當前請求發(fa)往服務(wu)器(qi)的哪(na)一個實例(li)。

解決方案:

(1)如果同(tong)一個服(fu)務(wu)的(de)實例都是(shi)完(wan)全對等的(de)(無狀態(tai)),那么按負載均(jun)衡策略來處理就足(zu)夠(隨(sui)機、輪詢(xun)、權重、hash、一致性hash、fair等各種(zhong)策略)。

(2)如果(guo)同一個(ge)服務(wu)(wu)的實(shi)例不是對等的(有狀(zhuang)態),那么(me)需要(yao)通過路由服務(wu)(wu)(元(yuan)數據服務(wu)(wu)等)先確定當前要(yao)訪(fang)問的請求數據在哪(na)一個(ge)實(shi)例上,然后再進行訪(fang)問。

3、如何避免雪崩?

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

解決方案:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

解決方案:

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

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

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