zookeeper收尾+dubbo前瞻

zookeeper是一個開源的分佈式協調框架:數據發佈訂閱,負載均衡,集羣,master選舉。

原子性:要麼同時成功,要麼同是失敗(分佈式事務)

單一視圖:無論客戶端連接到哪個服務器,所看到的模型都是一樣的

可靠性:一旦服務器端提交了一個事務並且獲得了服務器端返回成功的標識,那麼這個事務所引起的服務器端的變更會一直保留

實時性:近實時性

zookeeper不是用來存儲數據的,通通過監控數據狀態的變化,達到基於數據的集羣管理。

會話狀態:

NOT_CONNECTED

CONNECTING

CONNECTED

CLOSED

數據模型-->樹形結構

最小的數據單元爲ZNODE

zab協議:客戶端發了一個事務請求給到了leader,而leader發送給各個follower以後,並且收到了ack,leader已經commit,在準備ack給各個follower節點commit的時候,leader掛了,怎麼處理。

1)選舉新的leader(zxid的最大值)

2)同步給其他的follower

watcher:

eventyType

None 客戶端和服務端成功建立會話

NodeCreated 節點創建

NodeDeleted 節點刪除

NodeDataChanged 數據變更,數據內容

NodeChildrenChanged 子節點發生變更:子節點刪除新增的時候纔會觸發,變更不會觸發

watcher特性:一次性觸發

事件被處理一次之後會被移除。如果需要永久監聽需要反覆註冊。

zookeeper序列化使用的方式jute

Acl權限的操作

保證存儲在zookeeper上的數據安全性問題

schema(ip/Digest/world/super)

授權對象(192.168.1.1/11,root:root、world:anyone/super)

數據存儲

內存數據和磁盤數據

zookeeper會定時把數據存儲在磁盤上

DataDir存儲的是數據快照

存儲:某一時刻全量的數據

DataLogDir 存儲事務日誌

zookeeper收尾+dubbo前瞻

看不懂啊

我們使用命令來轉換下

java -cp :/data/program/zookeeper-3.4.10/lib/slf4j-api-1.6.1.jar:/data/program/zookeeper-3.4.10/zookeeper-3.4.10.jar org.apache.zookeeper.server.LogFormatter log.200000001

zookeeper收尾+dubbo前瞻
zookeeper有三種日誌

zookeeper.out 運行日誌

快照 存儲某一時刻的全量數據

事務日誌 事務操作的日誌記

到上面zookeeper的基礎學習告一段落了,接下來就要進入dubbo的學習

學習dubbo,我們首先要對他有個基礎的瞭解,dubbo是什麼,爲什麼要用dubbo,怎麼用dubbo。

首先我們假定一個業務場景【電商】

zookeeper收尾+dubbo前瞻

各個系統之間通過接×××互,那麼各個系統分別得管理彼此之間複雜的接×××互,這太麻煩了。

dubbo能幹什麼

1)怎麼去維護url

通過註冊中心去維護url(zookeeper,redis,memecache....)

2)F5硬件負載均衡器的單點壓力比較大

軟負載均衡

3)服務之間的依賴關係錯綜複雜,依賴關係如何整理

自動去整理各個服務之間的依賴,一般是使用dubbo+zookeeper

4)如果服務器的調用量越來越大,服務器的容量問題如何去評估。擴容的指標

需要一個監控平臺,可以監控調用量,響應時間。

dubbo是什麼

dubbo是一個分佈式的服務框架,提供高性能的以及透明化的RPC遠程服務調用解決方法,以及SOA治理方案。

核心部分

1)遠程通信

2)集羣容錯

3)服務的自動發現

4)負載均衡

Dubbo的架構

核心角色:

provider

Consummer

Registry

Monitor

Container

架構圖

zookeeper收尾+dubbo前瞻

zookeeper收尾+dubbo前瞻

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章