1. 分布式與集群的區(qū)別:
分布式是把一個業(yè)務拆分成多個子業(yè)務睦番,然后各個子業(yè)務部署在不同的服務器上类茂。而集群是同一個業(yè)務部署多個服務器上。
2. 分布式環(huán)境遇到的問題
1)通信異常
分布式環(huán)境中托嚣,各個組件在不同的服務器上大咱,因此必然引入網(wǎng)絡,而網(wǎng)絡肯定存在不可靠性注益,因此會給分布式系統(tǒng)帶來消息延遲,甚至消息丟失的情況溯捆。
2)網(wǎng)絡分區(qū)
當網(wǎng)絡由于發(fā)送異常時丑搔,將導致分布式系統(tǒng)中部分節(jié)點之間的網(wǎng)絡延時不斷增大,最終導致組成分布式系統(tǒng)的所有節(jié)點中提揍,只有部分節(jié)點之間能夠進行正常通信啤月,而另一些節(jié)點則不能——網(wǎng)絡分區(qū)(腦裂)
3)三態(tài)
分布式系統(tǒng)的每一次請求與響應,存在“三態(tài)”劳跃,即成功谎仲、失敗和超時
4)節(jié)點故障
節(jié)點出現(xiàn)宕機或“僵死”現(xiàn)象。分布式環(huán)境下刨仑,節(jié)點故障具有獨立性
3. CAP/BASE 理論
分布式事務:事務的參與者郑诺、支持事務的服務器、資源服務器以及事務管理器分別位于分布式系統(tǒng)的不同節(jié)點之上杉武。通常一個分布式事務中會涉及對多個數(shù)據(jù)源或業(yè)務系統(tǒng)的操作辙诞。
一個分布式事務可以看作是多個分布式的操作序列組成的,通常把這一系列分布式的操作序列稱為子事務轻抱。
3.1 cap 理論
cap 理論告訴我們飞涂,一個分布式系統(tǒng)不可能同時滿足一致性(C:consistency)、可用性(A:availability)和分區(qū)容錯性(P:partition tolerance)祈搜。
- 一致性
數(shù)據(jù)是否能夠在多個副本之間保持一致的特性较店。 - 可用性
系統(tǒng)提供的服務一直處于可用的狀態(tài)。 - 分區(qū)容錯性
分布式系統(tǒng)在遇到任何網(wǎng)絡分區(qū)故障的時候容燕,仍然需要能夠保證對外提供滿足一致性和可用性的服務梁呈,除非是整個網(wǎng)絡環(huán)境都發(fā)生了故障。
3.2 BASE 理論
BASE 是指 Basically availability(基本可用)缰趋、Soft state(軟狀態(tài))和 Eventually consistent(最終一致性)捧杉。
最終一致性存在以下主要五種:
- 因果一致性(causal consistency)
- 讀己之所寫
- 會話一致性
- 單調(diào)讀一致性
一個進程從系統(tǒng)中讀取出一個數(shù)據(jù)項的某個值后陕见,那么系統(tǒng)對于該進程后續(xù)的任何數(shù)據(jù)訪問都不應該返回舊值
- 單調(diào)寫一致性
一個系統(tǒng)需要能夠保證來自同一個進程的寫操作被順序執(zhí)行