在线无码中文破解|日本影院一区二区三区|五月激情Av在线|国产香蕉视频一区|国产老熟女AAAA|云霸高清91视频|久久久www视频|在线熟女网站无码视频|国产精品 国产|韩日精品中文字幕

風險提示:理性看待區(qū)塊鏈,提高風險意識!

分布式系統(tǒng)面臨的挑戰(zhàn)有哪些?

2個回答

瘋狂天蝎5星評價

2020-04-30 15:09:28

分布式系統(tǒng)面臨的挑戰(zhàn)有哪些?

共識機制已經(jīng)成為了目前區(qū)塊鏈系統(tǒng)性能提升的關(guān)鍵瓶頸。

單一的共識算法均存在各種問題,如PoW算法存在消耗大量計算資源及性能低下的問題,PoS或DPoS存在富豪統(tǒng)治”問題,融合多種共識算法優(yōu)勢的想法正受到越來越廣泛的關(guān)注。

在本期推送中,我們會先了解分布式系統(tǒng)面臨的挑戰(zhàn),以及共識算法的理論基礎(chǔ);在接下來的幾期推送中,我們將基于理論來分析幾個區(qū)塊鏈項目廣泛采用的共識算法,最后詳細解釋迅雷鏈是如何優(yōu)化提升共識效率和可用性的。

分布式系統(tǒng)面臨的挑戰(zhàn)

區(qū)塊鏈是一個分布式系統(tǒng),分布式系統(tǒng)碰到的第一個問題就是一致性問題。

在分布式系統(tǒng)中,一致性是指:對于系統(tǒng)中的多個服務(wù)節(jié)點,給定一系列操作,在協(xié)議(往往通過某種共識算法)保障下,試圖使得他們對處理結(jié)果達成某種程度的一致。

如果一個分布式系統(tǒng)無法保證處理結(jié)果一致的話,那任何建立于其上的業(yè)務(wù)系統(tǒng)都無法正常工作。

分布式系統(tǒng)面臨的主要挑戰(zhàn)包括:

1)資源受限:節(jié)點間的通信需要通過網(wǎng)絡(luò),而網(wǎng)絡(luò)存在帶寬限制和時延,節(jié)點也無法做到瞬間響應(yīng)和高吞吐。

2)故障的獨立性:系統(tǒng)的任何一個模塊都可能發(fā)生故障,如節(jié)點之間的網(wǎng)絡(luò)通訊是不可靠的,隨時可能發(fā)生網(wǎng)絡(luò)故障或任意延遲;節(jié)點的處理可能是錯誤的,甚至節(jié)點自身隨時可能宕機。

3)不透明性:分布式系統(tǒng)中任何組件所在的位置、性能、狀態(tài)、是否故障等情況對于其它組件來說都是不可見的、也無法預(yù)知的。

4)并發(fā):分布式系統(tǒng)的目的,是為了更好的共享資源。同步調(diào)用會讓系統(tǒng)阻塞,因此節(jié)點間通信通常設(shè)計成異步的。

5)缺乏全局時鐘:在程序需要協(xié)作時,它們通過交換消息來協(xié)調(diào)它們的動作。緊密的協(xié)調(diào)經(jīng)常依賴于對程序動作發(fā)生時間的共識,但是,實際上網(wǎng)絡(luò)上計算機同步時鐘的準確性受到極大的限制,即沒有一個一致的全局時間的概念。這是通過網(wǎng)絡(luò)發(fā)送消息作為唯一的通信方式這一事實帶來的直接結(jié)果。

由于上述挑戰(zhàn)的存在,分布式系統(tǒng)中的一致性保證機制是分布式系統(tǒng)設(shè)計中最關(guān)鍵也是最有難度的領(lǐng)域,分布式系統(tǒng)中關(guān)于一致性的理論基礎(chǔ)已經(jīng)比較完善,在理論指導(dǎo)下,學(xué)術(shù)界和業(yè)界都提出了很多的共識算法試圖解決分布式系統(tǒng)中的一致性問題。


假以時日8星評價

2020-04-30 15:10:36

布式的處理方式越來越受到業(yè)界的青睞——計算機系統(tǒng)正在經(jīng)歷一場前所未有的從集中式向分布式架構(gòu)的變革。今天,我們就來看看關(guān)于分布式的精華問答吧!

1

Q:什么是分布式緩存?

A:為了提高性能和響應(yīng)時間,在應(yīng)用程序(通常是Web應(yīng)用程序)中“部署”并確保數(shù)據(jù)從內(nèi)存加載而不是從磁盤加載(速度更慢)的解決方案。

如果要在單臺機器上使用高速緩存,那么看起來很簡單 - 只需從內(nèi)存中的數(shù)據(jù)庫中加載最活躍的數(shù)據(jù)(例如Guava Cache實例),然后從中提供。當必須在集群中工作時,它變得有點復(fù)雜 - 例如5個應(yīng)用節(jié)點以循環(huán)方式向用戶提供請求。

2

Q:如何實現(xiàn)分布式系統(tǒng)的高可用性?

A:高可用性的前提是:保證服務(wù)系統(tǒng)能夠持續(xù)工作,實現(xiàn)高可用性一般有兩種手段: 一種是通過第三方軟件/組件保證系統(tǒng)的可用性;另一種是軟件/組件自身己具備高可用的技術(shù)實現(xiàn)。

3

Q:分布式系統(tǒng)的優(yōu)勢

A:分布式可繁也可以簡,最簡單的分布式就是大家最常用的,在負載均衡服務(wù)器后加一堆web服務(wù)器,然后在上面搞一個緩存服務(wù)器來保存臨時狀態(tài),后面共享一個數(shù)據(jù)庫,其實很多號稱分布式專家的人也就停留于此,大致結(jié)構(gòu)如下圖所示:

4

Q:分布式與集群的區(qū)別是什么?

A:分布式:一個任務(wù)分給多臺機器去做,減少單個任務(wù)的執(zhí)行時間。

集群:提高單位時間內(nèi)執(zhí)行任務(wù)數(shù)。

例如:一個任務(wù)由10個子任務(wù)組成,每個子任務(wù)單獨執(zhí)行需要1個小時,則在一臺服務(wù)器上執(zhí)行該任務(wù)需要10個小時。

分布式方案:提供10臺服務(wù)器,每臺服務(wù)器只處理一個子任務(wù),不考慮任務(wù)間的依賴關(guān)系,執(zhí)行完這個任務(wù)只需要一個小時。

集群方案:同樣提供10臺服務(wù)器,每臺服務(wù)器都能獨立處理這個任務(wù)。假設(shè)有10個任務(wù)同時到達,10個服務(wù)器將同時工作,10小時后,10個任務(wù)同時完成,同樣是一個小時完成一個任務(wù)。

5

Q:分布式系統(tǒng)面臨的挑戰(zhàn)

A:分布式系統(tǒng)需要大量機器協(xié)作,面臨諸多的挑戰(zhàn):

第一,異構(gòu)的機器與網(wǎng)絡(luò):

分布式系統(tǒng)中的機器,配置不一樣,其上運行的服務(wù)也可能由不同的語言、架構(gòu)實現(xiàn),因此處理能力也不一樣;節(jié)點間通過網(wǎng)絡(luò)連接,而不同網(wǎng)絡(luò)運營商提供的網(wǎng)絡(luò)的帶寬、延時、丟包率又不一樣。怎么保證大家齊頭并進,共同完成目標,這四個不小的挑戰(zhàn)。

第二,普遍的節(jié)點故障:

雖然單個節(jié)點的故障概率較低,但節(jié)點數(shù)目達到一定規(guī)模,出故障的概率就變高了。分布式系統(tǒng)需要保證故障發(fā)生的時候,系統(tǒng)仍然是可用的,這就需要監(jiān)控節(jié)點的狀態(tài),在節(jié)點故障的情況下將該節(jié)點負責的計算、存儲任務(wù)轉(zhuǎn)移到其他節(jié)點

第三,不可靠的網(wǎng)絡(luò):

節(jié)點間通過網(wǎng)絡(luò)通信,而網(wǎng)絡(luò)是不可靠的??赡艿木W(wǎng)絡(luò)問題包括:網(wǎng)絡(luò)分割、延時、丟包、亂序。相比單機過程調(diào)用,網(wǎng)絡(luò)通信最讓人頭疼的是超時:節(jié)點A向節(jié)點B發(fā)出請求,在約定的時間內(nèi)沒有收到節(jié)點B的響應(yīng),那么B是否處理了請求,這個是不確定的,這個不確定會帶來諸多問題,最簡單的,是否要重試請求,節(jié)點B會不會多次處理同一個請求。

總而言之,分布式的挑戰(zhàn)來自不確定性,不確定計算機什么時候crash、斷電,不確定磁盤什么時候損壞,不確定每次網(wǎng)絡(luò)通信要延遲多久,也不確定通信對端是否處理了發(fā)送的消息。而分布式的規(guī)模放大了這個不確定性,不確定性是令人討厭的,所以有諸多的分布式理論、協(xié)議來保證在這種不確定性的情況下,系統(tǒng)還能繼續(xù)正常工作。