elastic lite job作業註冊中心

2021-08-16 04:54:00 字數 3096 閱讀 6471

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 ...