zookeeper入門學習之java api會話建立《四》

 2023-11-19 阅读 29 评论 0

摘要:?在上一篇zk中簡單玩了下api的連接創建會話,也總是留下了很多坑,就是那些引申開來,搞不明白的問題。有時候想追究起來,問題總是那么無窮無盡,有時候問題比答案更有力度吧,到最后都是些哲學問題嗎?存在的這一切,還是一切歸于

?在上一篇zk中簡單玩了下api的連接創建會話,也總是留下了很多坑,就是那些引申開來,搞不明白的問題。有時候想追究起來,問題總是那么無窮無盡,有時候問題比答案更有力度吧,到最后都是些哲學問題嗎?存在的這一切,還是一切歸于虛無,小時候總是被教育要講科學,但是感覺科學怎么那么沒有溫度,不如哲學問題那么溫暖人心。

????瞎逼逼好了,這里還是寫點java api的使用吧,不如寫點代碼

文檔地址 3.5.3 :http://zookeeper.apache.org/doc/r3.5.3-beta/api/index.html

? ? 3.5.3的beta版本里面有很多個創建方法(比3.4.X又豐富了api),開始我們總是拿最簡單的那個開始,沒錯,就是第一個,這是一個同步創建的接口。

?執行的結果 很滿意

這邊的參數文檔說明

???path ?路徑,已經已經存在了,會報創建節點已經存在的從錯誤(KeeperException.NodeExists),并且zookeeper api不支持遞歸創建,就是不能在父節點不存在的情況下(KeeperException.NoNode),創建子節點,第三方的工具封裝了,可以省下很多活。

????data 數據,這個目前zookeeper只支持數組 buty[],就是說需要我們自己序列化,復雜對象可以使用第三方工具來序列化,那我想存復雜對象的場景是怎么樣的。

????acl 權限控制,這邊使用了Ids.OPEN_ACL_UNSAFE

createMode 節點mode,下面的解釋也很清晰,上面我們創建的是臨時節點,會話結束 就 die啦,還有持久型的,都有順序型,后面補上兩種帶TTL的,當沒有子節點的時候,自動刪除。

??我們看看 創建順序節點,順序總是有應用場景的

日志:

?其他都是類似的,還有一個異步創建的的

日志:

????異步創建還是方便的,其中主要是 AsyncCallback的實現,回調接口好多,不看了,其中stat是節點zhuagn狀態。

??里面就一個方法,參數的說明也在下面

????在創建的時候

????設置RequestHeader,CreateRequest和CreateResponse,這個套路很熟悉呀,不過ReplyHeader是干嘛的,暫時不知道,最后執行的就是我們io處理的

ClientCnxn對象啦。

????在cnxn里面:把數據封裝到了packet中處理,到了這一層,居然把數據統一到packet啦,這邊的注解寫的 xid只是在實際發送的地方生成。

?

有什么討論的內容,可以加我公眾號:

?

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/183403.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息