分布式系統核心理論

2021-09-21 18:47:22 字數 768 閱讀 2659

分布式系統正變得越來越重要,大型**幾乎都是分布式的。

分布式系統的最大難點,就是各個節點的狀態如何同步。cap定理是這方面的基本定理,也是理解分布式系統的關鍵。

在乙個分布式環境下,存在3個核心需求:

寫操作之後的讀操作必須返回該值。

對於乙個將資料副本分布在不同分布式節點上的系統來說,如果對第乙個節點的資料進行了更新操作並且更新成功後,卻沒有使得第二個節點上的資料得到相應的更新,於是在對第二個節點的資料進行讀取操作時,獲取的依然是老資料(或稱為髒資料),這就是典型的分布式資料不一致的情況。在分布式系統中,如果能夠做到針對乙個資料項的更新操作執行成功後,所有的使用者都可以讀取到其最新的值,那麼這樣的系統就被認為具有強一致性

可用性指系統只要收到使用者的請求,伺服器需要在有限的時間內返回結果

由於網路故障可能導致區間通訊失敗,這個時候平台仍然需要對外提供滿足一致性和可用性的服務,除非整個網路環境都發生了故障

這3個理論中,不可能同時滿足,只能滿足兩個。由於分割槽容錯必須考慮,因此一致性和可用性只能選擇乙個。

base理論主要內容為:

分布式系統在出現不可預知故障的時候,允許損失部分可用性

響應時間上的損失

系統功能上的損失

允許系統中的資料存在中間狀態,並認為該中間狀態的存在不會影響系統的整體可用性

分布式系統的資料最終能夠達到一致,不需要實時保證系統資料的強一致性

cap理論和base理論面向的是大型高可用可擴充套件的分布式系統,通過犧牲強一致性來獲得可用性,並允許資料在一段時間內是不一致的,但最終達到一致狀態。

分布式系統 CAP理論

cp 天貓雙十一下單搶購,要保證一致性,沒貨了下單失敗 一般來說,如果不需要儲存服務級別的資訊,且服務例項是通過 nacos client 註冊,並能夠保證心跳上報,那麼就可以選擇 ap 模式。當前主流的服務如 spring cloud 和 dubbo 服務,都適用於 ap 模式,ap模式為了服務的...

分布式系統CAP理論

c是一致性,a是可用性,p是分割槽容錯。前兩個沒什麼好說的,主要是p我不太清楚。然後我看文章中最後的證明,有點明白了。分割槽是指兩個伺服器之間傳送資訊失敗。而分割槽容錯就是系統允許發生這種兩個伺服器之間無法傳輸資料的情況。也就是說c和a如果算是正面的 好的性質,那麼p就是負面的 壞的性質。那為什麼允...

Kafka Kafka核心理解 分布式機制

乙個topic中的所有資料分布式的儲存在kafka集群的所有機器 broker 上,以分割槽 partition 的的形式進行資料儲存 每個分割槽允許存在備份資料 備份分割槽 儲存在同一kafka集群的其它broker上的分割槽 每個資料分割槽在kafka集群中存在乙個broker節點上的分割槽叫做...