zookeeper收尾+dubbo前瞻
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
zookeeper是一個(gè)開(kāi)源的分布式協(xié)調(diào)框架:數(shù)據(jù)發(fā)布訂閱,負(fù)載均衡,集群,master選舉。
原子性:要么同時(shí)成功,要么同是失敗(分布式事務(wù))
單一視圖:無(wú)論客戶端連接到哪個(gè)服務(wù)器,所看到的模型都是一樣的
可靠性:一旦服務(wù)器端提交了一個(gè)事務(wù)并且獲得了服務(wù)器端返回成功的標(biāo)識(shí),那么這個(gè)事務(wù)所引起的服務(wù)器端的變更會(huì)一直保留
實(shí)時(shí)性:近實(shí)時(shí)性
zookeeper不是用來(lái)存儲(chǔ)數(shù)據(jù)的,通通過(guò)監(jiān)控?cái)?shù)據(jù)狀態(tài)的變化,達(dá)到基于數(shù)據(jù)的集群管理。
會(huì)話狀態(tài):
NOT_CONNECTED
CONNECTING
CONNECTED
CLOSED
數(shù)據(jù)模型-->樹(shù)形結(jié)構(gòu)
最小的數(shù)據(jù)單元為ZNODE
zab協(xié)議:客戶端發(fā)了一個(gè)事務(wù)請(qǐng)求給到了leader,而leader發(fā)送給各個(gè)follower以后,并且收到了ack,leader已經(jīng)commit,在準(zhǔn)備ack給各個(gè)follower節(jié)點(diǎn)commit的時(shí)候,leader掛了,怎么處理。
1)選舉新的leader(zxid的最大值)
2)同步給其他的follower
watcher:
eventyType
None 客戶端和服務(wù)端成功建立會(huì)話
NodeCreated 節(jié)點(diǎn)創(chuàng)建
NodeDeleted 節(jié)點(diǎn)刪除
NodeDataChanged 數(shù)據(jù)變更,數(shù)據(jù)內(nèi)容
NodeChildrenChanged 子節(jié)點(diǎn)發(fā)生變更:子節(jié)點(diǎn)刪除新增的時(shí)候才會(huì)觸發(fā),變更不會(huì)觸發(fā)
watcher特性:一次性觸發(fā)
事件被處理一次之后會(huì)被移除。如果需要永久監(jiān)聽(tīng)需要反復(fù)注冊(cè)。
zookeeper序列化使用的方式j(luò)ute
Acl權(quán)限的操作
保證存儲(chǔ)在zookeeper上的數(shù)據(jù)安全性問(wèn)題
schema(ip/Digest/world/super)
授權(quán)對(duì)象(192.168.1.1/11,root:root、world:anyone/super)
數(shù)據(jù)存儲(chǔ)
內(nèi)存數(shù)據(jù)和磁盤數(shù)據(jù)
zookeeper會(huì)定時(shí)把數(shù)據(jù)存儲(chǔ)在磁盤上
DataDir存儲(chǔ)的是數(shù)據(jù)快照
存儲(chǔ):某一時(shí)刻全量的數(shù)據(jù)
DataLogDir 存儲(chǔ)事務(wù)日志
看不懂啊
我們使用命令來(lái)轉(zhuǎn)換下
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 運(yùn)行日志
快照 存儲(chǔ)某一時(shí)刻的全量數(shù)據(jù)
事務(wù)日志 事務(wù)操作的日志記
到上面zookeeper的基礎(chǔ)學(xué)習(xí)告一段落了,接下來(lái)就要進(jìn)入dubbo的學(xué)習(xí)
學(xué)習(xí)dubbo,我們首先要對(duì)他有個(gè)基礎(chǔ)的了解,dubbo是什么,為什么要用dubbo,怎么用dubbo。
首先我們假定一個(gè)業(yè)務(wù)場(chǎng)景【電商】
各個(gè)系統(tǒng)之間通過(guò)接口交互,那么各個(gè)系統(tǒng)分別得管理彼此之間復(fù)雜的接口交互,這太麻煩了。
dubbo能干什么
1)怎么去維護(hù)url
通過(guò)注冊(cè)中心去維護(hù)url(zookeeper,redis,memecache....)
2)F5硬件負(fù)載均衡器的單點(diǎn)壓力比較大
軟負(fù)載均衡
3)服務(wù)之間的依賴關(guān)系錯(cuò)綜復(fù)雜,依賴關(guān)系如何整理
自動(dòng)去整理各個(gè)服務(wù)之間的依賴,一般是使用dubbo+zookeeper
4)如果服務(wù)器的調(diào)用量越來(lái)越大,服務(wù)器的容量問(wèn)題如何去評(píng)估。擴(kuò)容的指標(biāo)
需要一個(gè)監(jiān)控平臺(tái),可以監(jiān)控調(diào)用量,響應(yīng)時(shí)間。
dubbo是什么
dubbo是一個(gè)分布式的服務(wù)框架,提供高性能的以及透明化的RPC遠(yuǎn)程服務(wù)調(diào)用解決方法,以及SOA治理方案。
核心部分
1)遠(yuǎn)程通信
2)集群容錯(cuò)
3)服務(wù)的自動(dòng)發(fā)現(xiàn)
4)負(fù)載均衡
Dubbo的架構(gòu)
核心角色:
provider
Consummer
Registry
Monitor
Container
架構(gòu)圖
轉(zhuǎn)載于:https://my.oschina.net/u/3959468/blog/2987309
總結(jié)
以上是生活随笔為你收集整理的zookeeper收尾+dubbo前瞻的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 深度学习目标检测系列:RCNN系列算法图
- 下一篇: 你不会想到这个购物平台竟然能智能到这种程