zookeeper開源客戶端之curator介紹

2021-09-11 19:30:29 字數 3368 閱讀 5762

4.fluent inte***ce的api

5.節點操作

static curatorframework newclient

(string connectstring, retrypolicy retrypolicy)

;static curatorframework newclient

(string connectstring,

int sessiontimeoutms,

int connectiontimeoutms, retrypolicy retrypolicy)

;

解釋

1.connectstring:英文逗號分隔的ip:port對

2.sessiontimeoutms:會話超時時間,單位毫秒,預設60000ms

3.connectiontimeoutms:連線建立超時時間,單位為毫秒,預設15000ms

4.retrypolicy:重試策略

預設四種:

exponential backoffretry

retryntimes

retryonetime

retryuntilelapsed

樣例

private curatorframework client = null;

public

curatorclienttest()

1. 所有的重試測試都可以自定義重試策略

2. 都繼承 extends

sleepingretry

,其中重試策略繼承的父類sleepingretry有乙個方法allowretry

引數

說明retrycount

經重試的次數,如果第一次重試,此值為0

elapsedtimems

重試花費的時間,單位為毫秒

sleeper

類似於thread.sleep,用於sleep指定時間

返回值如果還會繼續重試,則返回true

1.

exponentialbackoffretry

(int basesleeptimems,

int maxretries)

2.exponentialbackoffretry

(int basesleeptimems,

int maxretries,

int maxsleepms)

3.前應該sleep的時間

basesleeptimems * math.

max(

1, random.

nextint(1

<<

(retrycount +1)

))

引數

說明basesleeptimems

初始sleep時間

maxretries

最大重試次數

maxsleepms

最大重試時間

返回值如果還會繼續重試,則返回true

retryntimes

(int n,

int sleepmsbetweenretries)

引數說明n

最大重試次數

sleepmsbetweenretries

每次重試的間隔時間

只重試一次

retryonetime

(int sleepmsbetweenretry), sleepmsbetweenretry為重試間隔的時間

retryuntilelapsed

(int maxelapsedtimems,

int sleepmsbetweenretries)

重試的時間超過最大時間後,就不在重試

引數說明

maxelapsedtimems 最大重試時間

sleepmsbetweenretries

每次重試的間隔時間

fluent inte***ce 概念可以參考

263

定義:一種物件導向的開發方式,目的是提高**的可讀性

實現方式:通過方法的級聯或者方法鏈的方式實現

retrypolicy retrypolicy =

newexponentialbackoffretry

(1000,3

);client = curatorframeworkfactory.

builder()

.connectstring

("localhost:2181,localhost:2182").

sessiontimeoutms

(10000).

retrypolicy

(retrypolicy)

.namespace

("base").

build()

; client.

start()

;

構建操作包裝類createbuilder:createbuilder create()

//遞ڡ建立父目錄

2.withmode

(createmode mode)

//設定節點屬性,比如͹ createmode.persistent,如果是遞迴建立,

建立模式為臨時節點,則只有ՙ子節點是臨時節點,非ՙ子節點都為持久節點

3.withacl

(list acllist)

//設定acl

4.forpath

(string path)

//指定路徑

ZooKeeper客戶端命令

zookeeper客戶端命令 zookeeper 服務命令 在準備好相應的配置之後,可以直接通過 zkserver.sh 這個指令碼進行服務的相關操作 zk客戶端命令 zookeeper 命令列工具類似於 linux 的shell 環境,不過功能肯定不及 shell 啦,但是使用它我們可以簡單的對 ...

Zookeeper客戶端操作

進入zookeeper客戶端 集群版 zkcli.sh server zkip 2181 客戶端命令 create demo 999 demo為節點名,999為內容 create s demo a1 888 建立永久順序節點 節點會帶編號 set demo 888 修改節點內容 delete dem...

Zookeeper客戶端(二) 原生客戶端

在zookeeper客戶端 一 原生客戶端中我們主要介紹了使用zookeeper客戶端對節點的增刪改查等操作,但是別忘了還有acl許可權控制,這裡我們就再來看一看在zookeeper客戶端中,我們是如何使用acl許可權控制的。首先我們需要先連線我們的服務端,這裡和之前類似,有一點不同的是,這裡我們沒...