日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

【虾说区块链】入门区块链,先学分布式系统!一文说明分布式系统与区块链的关系...

發布時間:2024/4/17 windows 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【虾说区块链】入门区块链,先学分布式系统!一文说明分布式系统与区块链的关系... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

歡迎收聽「蝦說區塊鏈」。現在區塊鏈這個概念在互聯網上相當火熱,這里簡單做一個普及,不涉及項目推廣投資,單純地對區塊鏈相關基礎知識概念作一個說明講解。本人區塊鏈技術愛好者,結合相關區塊鏈資料總結整理了「蝦說區塊鏈」,也是自己一個學習筆記,涉及相關內容如理解有誤,也請及時指正。

1

分布式系統概念

**分布式系統(distributed system)是建立在網絡之上的軟件系統,彼此節點之間通過消息傳遞進行通信和協調的系統。**隨著現在互聯網業務的發展,單純的集中式系統無法滿足高并發,海量數據的處理,故出現了分布式系統來集中計算和存儲資源,統一對外提供服務。

簡單從物理上來看待分布式系統,一群互相獨立的計算機,通過內部的通訊機制,形成一個大型的計算存儲設備對外提供服務。分布式的意義在于計算機不局限于單一一個物理位置,通過網絡進行互聯,在邏輯上形成一個統一體,集中這些計算機的計算資源、存儲資源。分布式中加入的計算機越多,理論上能夠處理的并發就會越大。

2

分布式理念

一直以來,“量變引起質變”的概念被普遍認知,大量個體的涌現,隨著成員之間的互相作用,必然會出現新的群體動態特性。當個體形成群集后,一些不可抗拒的特性就會顯現。群集是社會發展的趨勢。我們在自然界中經常能接觸到很多分布式群集的事物。大雁的飛行模式、螞蟻搬家等。互聯網的出現,實現了信息共享、互聯網中每個接入的個體形成群體,雖然互聯網上現在大部分應用還是通過中心化的架構來提供服務,但是互聯網的本質是分布式的概念。在互聯網上形成分布式的服務是一種必然的趨勢。

傳統的應用系統,按部就班,通過順序控制的理念來構建一個系統。系統有序執行一系列的操作,整個系統結構部署簡單嚴謹,計算和存儲資源集中在中心服務器,客戶端終端負責數據的輸入和輸出,所有操作在中心服務器中執行,反饋至客戶端。

分布式系統是一種群集的概念,它對外提供的可能是單一的服務,但內部是一個個自治的主體,自治主體之間高度鏈接,通過共識機制達到一致性。形成一個動態的主體。

分布式的特點:(只是指分布式的特點,而不是分布式系統的特性)

  • 沒有強制的集中節點控制。

  • 個體自治。

  • 網絡互聯。

  • 共識機制。

分布式的優點:

  • 彈性:分布式中節點的加入和撤離靈活,不影響整個動態的主體,在資源緊張或者資源充足時,動態調節。

  • 冗余:節點眾多,和傳統的集中式相比,在出現故障時,也就類似節點的撤離,不影響整個動態主體。

  • 無限:這個概念有點縹緲,良好的分布式的系統,理論上節點的擴展性不會受到拘束,相反節點越多,對事物的處理會有更多的可能性,形成一種資源的無限擴展,系統的無限可能性。

  • 不可控:分布式眾多的節點,形成共識,不是單單控制幾個節點就能控制整個動態的主體。(一個兩面性的特點)

分布式的不可避免因素:任何事物都有兩面性。

  • 浪費:和傳統的集中化對比,由于冗余、動態調節,資源的利用率上會有一定程度的浪費。

  • 復雜:個體到群集,每個個體還有自治性,形成一個動態的主體,必然會增加其復雜度。

  • 不可控和不可預知:對比優點中的不可控,這個是一種兩面性的特點,在分布式中出現故障,由于整體運行良好,故障不易發現,整個系統是一個動態的主體,隨著量級的增加,必然會出現一些不可預知的現象。

3

分布式系統特點

分布式系統中各個節點之間通過網絡來協調和通信,在計算機網絡中節點不受物理空間的影響。在邏輯上形成一個整體。

分布式系統特點:

  • 計算機設備在空間上隨意分布,沒有主-備-從的概念,節點間平等。

  • 資源共享,分布式系統中整個資源(計算資源、存儲資源)共享。

  • 和傳統的大型主機對比,分布式可用性價比更好的計算機設備。

  • 在分布式系統到一定的量級,在處理能力上優于傳統中心主機。

  • 系統冗余性,保證系統的可靠性。

  • 計算能力的擴展,在分布式中可根據需求加入新節點提高整體性能。

分布式系統的缺點:

上述分布式系統的特點都應該從兩方面來看待。

  • 節點眾多和資源的共享,考慮信息的隱私性。

  • 設備節點眾多,考慮通信的可靠機制。

  • 分布式處理能力的提高和系統冗余性的特點,也可能造成一定的浪費。

  • 計算能力的擴展,眾多節點的加入,不排除惡意節點的入侵。

4

分布式系統的時間問題

分布式系統中的時間問題,如果簡單去想,那么通過NTP時間同步,所有節點都通過去同步時間,然后根據進程發起的物理時間來排序,先不論時間同步中同步過程中的細微毫秒級差異,多個業務發起進程,在各個進程之間有關聯關系,進程隨著系統計算能力有差異,并且還有檢查點的判斷,一旦在順序進程中出現了前物理時間某進程改變了檢查點,那么在認為是同步處理的時候就會出現檢查點狀態改變導致業務邏輯的改變,這種情況理解下就是你在購物網站搶購的時候,貨物剩余量在你發起交易的時候還有,但是確認過程由于網絡和計算的延時,發現分布式系統中一邊是交易已正常請求,但是實際貨物記錄中已下架。引入logical clock能較好的處理這種系統記錄邏輯混亂的現象。

Logical clock稱為lamport timestamps,這種概念里,先把分布式系統節點間交互分成三種類型:

  • 分布式單個節點自己內部傳遞的事件。

  • 分布式節點互相之間傳遞的事件。

  • 分布式節點接收除自己之外的傳遞進來的事件。

同時再加一個邏輯時間順序概念。

**順序疊加原則:**這里整個系統順序邏輯時間時間為T(),各個節點順序為X()

初始發起節點為0.

節點內傳遞,X+1

節點間傳遞,T+1

節點接收除自己之外的傳遞(T and X)+1

那么如果再定義一個節點事件順序,對節點A.B.C排序。假定發生順序A<B<C,在上圖中,事件發生順序為:

C-1(T=1) ?B-1(T=2) ?B2(T=3) ?A1(T=4) ?A2(T=5) ?B4(T=6) ?B5(T=7) ?C4(T=8) ?C5(T=9) ?A4(T=10)

B-3(T=4) ?C-2(T=5) ?C-3(T=6) ?A-3(T=7)

問題來了T(4.5.6.7)發生了重復,那么就用之前說的A<B<C原則

以B-4和C-3作比較:A<B<C,那么B-4就理解為發生在C-3之前。推導B-4-->C-3。B-4發生在C-3之前。這個前提是我們已知三個節點進程發生的關系順序,在實際情況下這個也有可能是很難進行判斷的。所以對于并發情況沒有很好的一致性判斷。

上述圖中節點A.B.C也可理解為各個進程的順序,在整個logiccal clock中有這么一個概念要明確,進程間沒有因果關系,那就認為是并發,沒有因果關系對于系統來說對事件的順序前后就沒有那么強烈的需求,前提是要確定確實沒有因果關系,那么分布式系統中就認為是正確的。所以歸納下,分布式系統中沒有因果順序的并發時間就不關注先后順序。

介紹到這里,會提出一個疑問,上面也提到了,那么系統中并發怎么處理,之前通過進程順序來排序,但是這種不是真正好的為并發處理時間順序,在這個問題上先提出Vector clock,這是在之前lamport時間戳的一種改進邏輯時鐘。

在vector clock中對每一個事件上加上前一事件的序號,那么可以看到每個事件記錄是一組向量。比如:(A-2 B-4 C-1),(A-2 B-5 C-4)。

在這種方式中,還要引入分布式系統中讀寫的概念,不單單是事件的傳遞,設定N為節點數量,R為成功讀的節點,W為成功寫的節點。

當W+R>N,那么就可以保證一致。

說明流程:(w為寫入進程,a,b,c,d為節點)

客戶端寫入數據,提交到服務端。

服務端創建一個順序編號,例:(w-a-1)

客戶端再請求寫入數據,生成編號:(w-a-2)

多次請求生成,(w-a-2)(w-b-1),(w-a-2)(w-b-1),(w-a-2)(w-d-1)

多次請求后,再次讀到(w-a-2),那么認為(w-b-1)(w-c-1)(w-d-1)存在沖突,最終通過一致性解決方案生成(w-a-3)(w-b-1)(w-b-1)(w-d-1)寫入。

Vector clock用來發現數據的沖突,并配合其他的方式來解決沖突,現在常用的會用最后更新原則來做處理,保持一致性。

這里大致介紹了兩種分布式系統的時間順序處理,分布式系統因為其特殊性,需要各種機制來保證一致性和高效率執行。

音頻內容作者:“投河自盡的魚”

以下是我們的社區介紹,歡迎各種合作、交流、學習:)

點擊“閱讀原文”進入直播室聽專欄音頻。

總結

以上是生活随笔為你收集整理的【虾说区块链】入门区块链,先学分布式系统!一文说明分布式系统与区块链的关系...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。