elastic-job
通過zookeeper
進行協調分布式服務,基於
zookeeper
和其客戶端
curator
實現的全域性作業註冊控制中心。用於註冊,控制和協調分布式作業執行。
本文簡述
elastic-job-lite
作業註冊中心
涉及主要類的類圖如下圖所示
註冊中心
①對註冊中心的操作和生命週期抽象
②init()
例項化註冊中心
,close()
銷毀註冊中心
③其他介面提供對註冊中心基礎操作
2,coordinatorregistrycenter
用於協調分布式服務註冊中心
①主要還是基於
zookeeper
服務操作行為進行抽象
3,zookeeperregisterycenter
具體註冊中心①基於
zookeeper
實現具體註冊中心,通過
curator
框架對zk
進行操作,通過構造器工廠
curatorframeworkfactory
建立curatorframework
客戶端。通過
treecache
監控節點新增、刪除、資料變更狀態,包括子節點狀態。
public
final
class zookeeperregistrycenterimplementscoordinatorregistrycenter
@override
public
voidinit() ."
,zkconfig
.getserverlists());
//通過構造器建立
curatorframeworkfactory
物件//
設定連線
zk伺服器列表
//連線
zk伺服器過程中重新連線策略,它的實現類是
exponentialbackoffretry(int basesleeptimems, intmaxretries, int maxsleepms)
//其中
:basesleeptimems
引數代表兩次連線等待時間初值
,maxretries
引數代表最大嘗試次數
,maxsleepms
引數代表等待重試連線最大間隔時間
//設定命名空間
curatorframeworkfactory.builder builder
= curatorframeworkfactory.builder()
.connectstring(zkconfig
.getserverlists())
.retrypolicy(newexponentialbackoffretry(
zkconfig
.getbasesleeptimemilliseconds(),
zkconfig
.getmaxretries(),
zkconfig
.getmaxsleeptimemilliseconds()))
.namespace(zkconfig
.getnamespace());
//會話超時時間
if(0 !=
zkconfig
.getsessiontimeoutmilliseconds())
//連線超時時間
if(0 !=
zkconfig
.getconnectiontimeoutmilliseconds())
//設定授權機制
if(!strings.isnullorempty(
zkconfig
.getdigest()))
@override
publiclistgetaclforpath(finalstring
path
) });}//
建立乙個新的
curatorframework
客戶端,
代表與zk
建立連線
client
= builder
.build();
//開啟連線
client
.start();
try
//checkstyle:off
}catch(finalexception
ex) }//
關閉連線
@override
public
voidclose()
waitforcacheclose();
closeableutils.closequietly(client);}
}4,zookeeperconfiguration
基於zookeeper
註冊中心配置資訊
①serverlists
連線zk
服務列表
,多個位址用「
,」分割,例如
:127.0.0.1:2181,192.168.0.1:2181
②namespace是zk
乙個共享空間
,給定集群使用者應該在乙個預定義命名空間內
,如果在這設定乙個命名空間,則所有路徑都得到命名空間預先定義
of介詞短語作定語 of介詞短語作表語
1.介詞短語作表語和做地點狀語的區別是什麼 一 介詞短語作表語 1 介詞短語作表語,放在連系動詞之後。表明主語的 樣子 所謂的聯絡動詞,就是起到聯絡主語和表語的動詞,比如 he looks ill.中,ill 就是表語,表明主語生病的 樣子 looks 就是聯絡動詞,聯絡主語 he 和表語 ill。...
dhcp authoritative引數作用
遇到過這樣乙個問題,手機作為熱點,用筆記本去連線 始終處於分配ip階段,而其它大多數機器又是可以的。最後調查發現是authoritative缺失,導致客戶端長時間等待dhcp分配ip超時。authoritative 指定當乙個客戶端試圖獲得乙個不是該dhcp伺服器分配的ip資訊,dhcp將傳送乙個拒...
springcloud Eureka引數作用
服務註冊中心配置 bean類 org.springframework.cloud.netflix.eureka.server.eurekaserverconfigbean eureka.server.enable self preservation false 關閉註冊中心的保護機制,eureka ...