芒果视频下载

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

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

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

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

1、異構的機器與網絡

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

2、普遍的節點故障

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

3、不可靠的網絡

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

總(zong)而言之,分布(bu)式(shi)的(de)挑戰(zhan)來(lai)自不(bu)確(que)(que)(que)定(ding)性,不(bu)確(que)(que)(que)定(ding)計算機什么時候(hou)crash、斷(duan)電(dian),不(bu)確(que)(que)(que)定(ding)磁(ci)盤什么時候(hou)損壞,不(bu)確(que)(que)(que)定(ding)每次(ci)網(wang)絡通信要延遲(chi)多久,也不(bu)確(que)(que)(que)定(ding)通信對端是否處理(li)了(le)發(fa)送(song)的(de)消息。而分布(bu)式(shi)的(de)規模放大了(le)這個不(bu)確(que)(que)(que)定(ding)性,不(bu)確(que)(que)(que)定(ding)性是令人討(tao)厭的(de),所以有諸多的(de)分布(bu)式(shi)理(li)論、協議來(lai)保(bao)證(zheng)在這種不(bu)確(que)(que)(que)定(ding)性的(de)情況下,系統(tong)還能繼(ji)續正常工作。

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

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

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

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

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

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

解決方案:

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

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

3、如何避免雪崩?

問題描述:一個故(gu)障(zhang)由于正反饋(kui)不斷(duan)被(bei)擴大(da),從而導致整個系(xi)統(tong)故(gu)障(zhang)

解決方案:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

解決方案:

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

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

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