芒果视频下载

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

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

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

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

1、異構的機器與網絡

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

2、普遍的節點故障

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

3、不可靠的網絡

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

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

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

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

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

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

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

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

解決方案:

(1)如果同一(yi)個(ge)服務(wu)的實例都是完全對等的(無狀態),那么按負載均衡策略(lve)來處理就足夠(隨機、輪詢、權(quan)重(zhong)、hash、一(yi)致性hash、fair等各種(zhong)策略(lve))。

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

3、如何避免雪崩?

問(wen)題描(miao)述:一個故(gu)障由于正反饋不斷被擴大,從(cong)而導致整個系統故(gu)障

解決方案:

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

(2)【彈性(xing)擴(kuo)容機制】,通(tong)過(guo)快速增加系統的服(fu)務能(neng)力來避免(mian)雪崩(beng)的發生。

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

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

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

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

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

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

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

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

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

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

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

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

解決方案:

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

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

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