欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

淺談Zookeeper開源客戶端框架Curator-創(chuàng)新互聯(lián)

zookeepercurator

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供桂陽網(wǎng)站建設(shè)、桂陽做網(wǎng)站、桂陽網(wǎng)站設(shè)計、桂陽網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、桂陽企業(yè)網(wǎng)站模板建站服務(wù),十多年桂陽做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

Curator是Netflix開源的一套ZooKeeper客戶端框架. Netflix在使用ZooKeeper的過程中發(fā)現(xiàn)ZooKeeper自帶的客戶端太底層, 應(yīng)用方在使用的時候需要自己處理很多事情, 于是在它的基礎(chǔ)上包裝了一下, 提供了一套更好用的客戶端框架. Netflix在用ZooKeeper的過程中遇到的問題, 我們也遇到了, 所以開始研究一下, 首先從他在github上的源碼, wiki文檔以及Netflix的技術(shù)blog入手.


看完官方的文檔之后, 發(fā)現(xiàn)Curator主要解決了三類問題:


2.提供了一套Fluent風(fēng)格的操作API;
3.提供ZooKeeper各種應(yīng)用場景(recipe, 比如共享鎖服務(wù), 集群領(lǐng)導(dǎo)選舉機(jī)制)的抽象封裝.


Curator列舉的ZooKeeper使用過程中的幾個問題


2.自動恢復(fù)(failover)的問題: 當(dāng)client與一臺server的連接丟失,并試圖去連接另外一臺server時, client將回到初始連接模式
session過期的問題: 在極端情況下, 出現(xiàn)ZooKeeper session過期, 客戶端需要自己去監(jiān)聽該狀態(tài)并重新創(chuàng)建ZooKeeper實例 .
3.對可恢復(fù)異常的處理:當(dāng)在server端創(chuàng)建一個有序ZNode, 而在將節(jié)點(diǎn)名返回給客戶端時崩潰, 此時client端拋出可恢復(fù)的異常, 用戶需要自己捕獲這些異常并進(jìn)行重試
4.使用場景的問題:Zookeeper提供了一些標(biāo)準(zhǔn)的使用場景支持, 但是ZooKeeper對這些功能的使用說明文檔很少, 而且很容易用錯. 在一些極端場景下如何處理, zk并沒有給出詳細(xì)的文檔說明. 比如共享鎖服務(wù), 當(dāng)服務(wù)器端創(chuàng)建臨時順序節(jié)點(diǎn)成功, 但是在客戶端接收到節(jié)點(diǎn)名之前掛掉了, 如果不能很好的處理這種情況, 將導(dǎo)致死鎖.

Curator主要從以下幾個方面降低了zk使用的復(fù)雜性:

2.連接狀態(tài)監(jiān)控: Curator初始化之后會一直的對zk連接進(jìn)行監(jiān)聽, 一旦發(fā)現(xiàn)連接狀態(tài)發(fā)生變化, 將作出相應(yīng)的處理.
3.zk客戶端實例管理:Curator對zk客戶端到server集群連接進(jìn)行管理. 并在需要的情況, 重建zk實例, 保證與zk集群的可靠連接
各種使用場景支持:Curator實現(xiàn)zk支持的大部分使用場景支持(甚至包括zk自身不支持的場景), 這些實現(xiàn)都遵循了zk的較佳實踐, 并考慮了各種極端情況.


Curator通過以上的處理, 讓用戶專注于自身的業(yè)務(wù)本身, 而無需花費(fèi)更多的精力在zk本身.


Curator聲稱的一些亮點(diǎn):


日志工具


采用驅(qū)動器(driver)機(jī)制, 允許擴(kuò)展和定制日志和跟蹤處理
提供了一個TracerDriver接口, 通過實現(xiàn)addTrace()和addCount()接口來集成用戶自己的跟蹤框架


和Curator相比, 另一個ZooKeeper客戶端——zkClient


文檔幾乎沒有
異常處理弱爆了(簡單的拋出RuntimeException)
重試處理太難用了
沒有提供各種使用場景的實現(xiàn)
對ZooKeeper自帶客戶端(ZooKeeper類)的"抱怨":
只是一個底層實現(xiàn)
要用需要自己寫大量的代碼
很容易誤用
需要自己處理連接丟失, 重試等


Curator幾個組成部分


2.Framework: 用來簡化ZooKeeper高級功能的使用, 并增加了一些新的功能, 比如管理到ZooKeeper集群的連接, 重試處理
3.Recipes: 實現(xiàn)了通用ZooKeeper的recipe, 該組件建立在Framework的基礎(chǔ)之上
4.Utilities:各種ZooKeeper的工具類
5.Errors: 異常處理, 連接, 恢復(fù)等.
6.Extensions: recipe擴(kuò)展


Client


這是一個底層的API, 應(yīng)用方基本對這個可以無視, 較好直接從Curator Framework入手,主要包括三部分:


連接重試處理
Retry Loop(循環(huán)重試)


一種典型的用法:


RetryLoop retryLoop = client.newRetryLoop();
while ( retryLoop.shouldContinue() )
{
  try
  {
    // perform your work
    ...
    // it's important to re-get the ZK instance as there may have been an error and the instance was re-created
    ZooKeeper   zk = client.getZookeeper();
    retryLoop.markComplete();
  }
  catch ( Exception e )
  {
    retryLoop.takeException(e);
  }
}

文章名稱:淺談Zookeeper開源客戶端框架Curator-創(chuàng)新互聯(lián)
文章URL:http://aaarwkj.com/article46/dshjeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、網(wǎng)站改版、全網(wǎng)營銷推廣、網(wǎng)頁設(shè)計公司網(wǎng)站導(dǎo)航、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
欧美一区二区三区成人网| 国产美女直播亚洲一区色| 国产乱子一区二区三区| 久久久人妻精品一区二区三区四区| 欧美日韩精品在线二区| 日韩免费av在线网站| 亚州国产成人综合精品| 片子免费毛片日韩不卡一区| 亚洲女同在线免费观看| 亚洲日本日本午夜精品| 一区二区在线视频国产| 中文字幕日产乱码一二三区| 国产精品三级高清在线| 一区二区日韩激情在线观看视频 | 国产av高清视频在线| 亚洲国产女人精品久久久| 麻豆视频国产一区二区| 狠狠综合久久av一区二区大宝| 国产精品亚洲二区三区| 午夜福利精品在线观看| 中文字幕日本精品人妻在线| 神马久久午夜免费福利 | 成人国产在线欧美精品| 少妇激情一区二区三区免费视频| 国产亚洲综合久久系列| 欧美日本一道本一区二区三区| 久久午夜福利欧美视频| 久草午夜福利视频免费观看| 国产原创剧情免费观看av| 日韩av在线专区观看| 日韩精品一二三黄色一级| 国产传媒视频在线免费观看| 给我免费在线观看视频| 2021天天操夜夜爽| 国产伦精品一区二区三区免费视频| 中文字幕在线五月婷婷| 久久久久久极精品久久久| av中文字幕在线激情| 欧美黑人在线一区二区| 欧美性大片免费在线观看| 亚洲国产欧美日韩一区|