最近一直在看倪超的那本《從paxos到Zookeeper分布式一致性原理與實(shí)踐》,整本書干貨滿滿。個(gè)人感覺在章節(jié)順序編排上有些小問題,不過,不影響它作為介紹這款中間件產(chǎn)品特性及原理而全面闡述的開山之作。總之,內(nèi)容很多,我也只是了解了皮毛。接下來寫的種種,算是我喝了這碗雞湯,消化來剩下的。
分布式系統(tǒng)定義:
是一個(gè)在硬件和軟件組件分布在不同在網(wǎng)絡(luò)計(jì)算機(jī)之間,彼此只是通過消息傳遞進(jìn)行通信和協(xié)調(diào)的的系統(tǒng)。
分布式系統(tǒng)特性:
A 機(jī)器多點(diǎn)分布
B 對(duì)等性,分布式系統(tǒng)沒有主從之分,所有的機(jī)器都是對(duì)等的。Replica(副本)是分布式系統(tǒng)的常見概念,主要包括數(shù)據(jù)與服務(wù)的冗余,具體是指在不同的節(jié)點(diǎn)上持久化同一份數(shù)據(jù)
C 并發(fā)性,一個(gè)分布式系統(tǒng)中,可能會(huì)并發(fā)的操作并訪問一些共享的資源,儲(chǔ)如數(shù)據(jù)庫(kù)和分布式存儲(chǔ)。
D 全局時(shí)鐘
E 故障總會(huì)發(fā)生
事務(wù)隔離級(jí)別:
A 讀未提交
B 讀已提交
C 可重復(fù)讀
D 串行
例子來說明:
隔離級(jí)別對(duì)比:
總結(jié):事務(wù)隔離級(jí)別越高,性能越差。推薦讀已提交,然后通過程序利用樂觀鎖或者悲觀鎖來做。
分布式事務(wù)理論:
CAP:
理論應(yīng)用:
BASE:基本可用,弱狀態(tài),最終一致性
一致性理論:
ZAB,還沒有完全理解,后續(xù)添加
Zookeeper的應(yīng)用場(chǎng)景:
A 數(shù)據(jù)發(fā)布與訂閱,比如相關(guān)配置伯集中化管理
B 負(fù)載均衡,動(dòng)態(tài)DNS的運(yùn)用
C 命名服務(wù),具體就是全局唯一標(biāo)識(shí)的生成
D 分布式協(xié)調(diào)、通知
E 集群管理,如日志收集
F Master選舉
G 分布式鎖
H 分布式隊(duì)列
Zookeeper客戶端:Curator,頂級(jí)apache項(xiàng)目, zookeeper的核心提交者對(duì)它的評(píng)價(jià)“curator is to Java what Curator is to ZooKeeper!”。下一篇帶來通過Curator操作Zookeeper的例子。
我的微信公眾號(hào),歡迎溝通學(xué)習(xí)。
posted on 2016-02-01 17:57
alexcai 閱讀(4897)
評(píng)論(0) 編輯 收藏