日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

支持断线重连、永久watcher、递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端...

發(fā)布時間:2024/9/21 asp.net 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 支持断线重连、永久watcher、递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在公司內(nèi)部的微服務(wù)架構(gòu)中有使用到了“ZooKeeper”,雖然官方有提供了.NET的SDK,但易用性非常的差,且搜遍github、nuget,沒有發(fā)現(xiàn)一個可以跨平臺且易用的組件,所以我又“美化”了一個輪子。

什么是ZooKeeper?

ZooKeeper是一個分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個開源的實現(xiàn),是Hadoop和Hbase的重要組件。它是一個為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護、域名服務(wù)、分布式同步、組服務(wù)等。

ZooKeeper的目標(biāo)就是封裝好復(fù)雜易出錯的關(guān)鍵服務(wù),將簡單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶。

項目介紹

該項目使用了 Apache ZooKeeper .NET async Client 組件,除提供了基本的zk操作,還額外封裝了常用的功能以便讓.net開發(fā)者更好的使用zookeeper。

此項目是開源的,采用了:Apache 2.0開源協(xié)議。

支持的平臺

  • .NET 4及以上
  • .NET Core
  • 項目地址

    GitHub:https://github.com/RabbitTeam/zookeeper-client

    NuGet:https://www.nuget.org/packages/Rabbit.Zookeeper/

    提供的功能

  • session過期重連
  • 永久watcher
  • 遞歸刪除節(jié)點
  • 遞歸創(chuàng)建節(jié)點
  • 跨平臺(支持.net core)
  • 使用說明

    下面列一下常用的使用方法,不僅限于此哦!

    創(chuàng)建連接

    創(chuàng)建節(jié)點

    獲取節(jié)點數(shù)據(jù)

    獲取子節(jié)點

    判斷節(jié)點是否存在

    刪除節(jié)點

    更新節(jié)點

    訂閱數(shù)據(jù)變化

    訂閱子節(jié)點變化

    FAQ

    什么時候會觸發(fā) "SubscribeDataChange" 事件 ?

    在以下情況下會觸發(fā)通過 "SubscribeDataChange" 方法訂閱的事件:

  • 節(jié)點被創(chuàng)建
  • 節(jié)點被刪除
  • 節(jié)點數(shù)據(jù)發(fā)生改變
  • zk連接重連成功
  • 什么時候會觸發(fā) "SubscribeChildrenChange" 事件 ?

    在以下情況下會觸發(fā)通過 "SubscribeChildrenChange" 方法訂閱的事件:

  • 節(jié)點被創(chuàng)建
  • 節(jié)點被刪除
  • 節(jié)點子節(jié)點發(fā)生改變
  • zk連接重連成功
  • 如何在 "xxxxChange" 事件中區(qū)分節(jié)點的狀態(tài) ?

    在事件觸發(fā)參數(shù)會有個類型為 "EventType" 的屬性 "Type",通過該屬性可以清楚的區(qū)分出節(jié)點變更的原因。

    為什么要寫這個程序,它與 "ZooKeeperEx" 有什么區(qū)別 ?

    官方提供的組件,只提供了基本的api,在正常的zk使用情景中需要做非常復(fù)雜的事情,滋生出很多額外的代碼并且不能保證其執(zhí)行的正確性。

    在java語言中也有對官方zk進行封裝的包 ZKClient,當(dāng)前組件也是參考了這個項目。具體組件包提供了什么功能請參考 "提供的功能" 這一節(jié)。

    有問題怎么辦?

    可以通過以下方式聯(lián)系我(依據(jù)最容易得到處理優(yōu)先級排序):

  • 在github上建立Issues
  • 加入QQ群:384413261(點擊加入:RabbitHub)進行提問
  • 給我發(fā)郵件,majian159@live.com
  • 站內(nèi)私信我
  • 總結(jié)

    以上是生活随笔為你收集整理的支持断线重连、永久watcher、递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。