支持断线重连、永久watcher、递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端
什么是ZooKeeper?
ZooKeeper是一個分布式的,開放源碼的分布式應用程序協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。
ZooKeeper的目標就是封裝好復雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。
項目介紹
該項目使用了?Apache ZooKeeper .NET async Client?組件,除提供了基本的zk操作,還額外封裝了常用的功能以便讓.net開發者更好的使用zookeeper。
此項目是開源的,采用了:Apache 2.0開源協議。
支持的平臺
.NET 4及以上
.NET Core
項目地址
GitHub:https://github.com/RabbitTeam/zookeeper-client
NuGet:https://www.nuget.org/packages/Rabbit.Zookeeper/
提供的功能
session過期重連
永久watcher
遞歸刪除節點
遞歸創建節點
跨平臺(支持.net core)
使用說明
下面列一下常用的使用方法,不僅限于此哦!
創建連接
創建節點
獲取節點數據
獲取子節點
判斷節點是否存在
刪除節點
更新節點
訂閱數據變化
訂閱子節點變化
FAQ
什么時候會觸發 "SubscribeDataChange" 事件 ?
在以下情況下會觸發通過 "SubscribeDataChange" 方法訂閱的事件:
節點被創建
節點被刪除
節點數據發生改變
zk連接重連成功
什么時候會觸發 "SubscribeChildrenChange" 事件 ?
在以下情況下會觸發通過 "SubscribeChildrenChange" 方法訂閱的事件:
節點被創建
節點被刪除
節點子節點發生改變
zk連接重連成功
如何在 "xxxxChange" 事件中區分節點的狀態 ?
在事件觸發參數會有個類型為 "EventType" 的屬性 "Type",通過該屬性可以清楚的區分出節點變更的原因。
為什么要寫這個程序,它與 "ZooKeeperEx" 有什么區別 ?
官方提供的組件,只提供了基本的api,在正常的zk使用情景中需要做非常復雜的事情,滋生出很多額外的代碼并且不能保證其執行的正確性。
在java語言中也有對官方zk進行封裝的包 ZKClient,當前組件也是參考了這個項目。具體組件包提供了什么功能請參考 "提供的功能" 這一節。
有問題怎么辦?
可以通過以下方式聯系我(依據最容易得到處理優先級排序):
在github上建立Issues
加入QQ群:384413261(點擊加入:RabbitHub)進行提問
給我發郵件,majian159@live.com
站內私信我
原文地址: http://www.cnblogs.com/ants/p/6209773.html
.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
總結
以上是生活随笔為你收集整理的支持断线重连、永久watcher、递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hangfire项目实践分享
- 下一篇: ASP.NET Core HTTP 管道