4. ZooKeeper 基本操作
生活随笔
收集整理的這篇文章主要介紹了
4. ZooKeeper 基本操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ZooKeeper的數據模型及其API支持以下九個基本操作:
| create | 在ZooKeeper命名空間的指定路徑中創建一個znode |
| delete | 從ZooKeeper命名空間的指定路徑中刪除一個znode |
| exists | 檢查路徑中是否存在znode |
| getChildren | 獲取znode的子節點列表 |
| getData | 獲取與znode相關的數據 |
| setData | 將數據設置/寫入znode的數據字段 |
| getACL | 獲取znode的訪問控制列表(ACL)策略 |
| setACL | 在znode中設置訪問控制列表(ACL)策略 |
| sync | 將客戶端的znode視圖與ZooKeeper同步 |
我們來使用ZooKeeper Java shell對上面中提到的ZooKeeper操作進行演示:
除了上述描述的操作外,ZooKeeper還支持使用稱為multi的操作對znodes進行批量更新。 這將多個原始操作組合在一起成為一個單元。 一個multi操作本質上也是原子的,這意味著要么所有的更新成功,要么整個更新整個失敗。
ZooKeeper不允許部分寫入或讀取znode數據。 設置znode的數據或讀取時,znode的內容將被替換或完全讀取。 ZooKeeper中的更新操作(如delete或setData操作)必須指定正在更新的znode的版本號。 版本號可以通過使用exists()方法調用來獲得。 如果指定的版本號與znode中的版本號不匹配,則更新操作將失敗。 另外,需要注意的另一件重要的事情是ZooKeeper中的更新是非阻塞(non-blocking)操作。
ZooKeeper中的讀寫操作如下圖所示:
從前面的圖片中,需要注意這些操作兩個關鍵地方:
- Read requests:這些在客戶端當前連接的ZooKeeper服務器上進行局部處理
- Write requests:這些被轉發給領導者,并在生成響應之前通過多數協商一致
轉載于:https://www.cnblogs.com/IcanFixIt/p/7824786.html
總結
以上是生活随笔為你收集整理的4. ZooKeeper 基本操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3 Python os 文件和目录
- 下一篇: 用 DocFetcher 全文搜索