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