zookeeper收尾+dubbo前瞻
2019獨角獸企業重金招聘Python工程師標準>>>
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 存儲事務日志
看不懂啊
我們使用命令來轉換下
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有三種日志
zookeeper.out 運行日志
快照 存儲某一時刻的全量數據
事務日志 事務操作的日志記
到上面zookeeper的基礎學習告一段落了,接下來就要進入dubbo的學習
學習dubbo,我們首先要對他有個基礎的了解,dubbo是什么,為什么要用dubbo,怎么用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
架構圖
轉載于:https://my.oschina.net/u/3959468/blog/2987309
總結
以上是生活随笔為你收集整理的zookeeper收尾+dubbo前瞻的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习目标检测系列:RCNN系列算法图
- 下一篇: Windows未能启动,原因可能是最近更