天天看點

【2】基于zookeeper,quartz,rocketMQ實作叢集化定時系統

<一>項目結構圖

【2】基于zookeeper,quartz,rocketMQ實作叢集化定時系統

(1)ZK協調配置設定

===>叢集中的每一個定時伺服器與zookeeper互動,由叢集中的master節點進行任務劃分,并将劃分結果配置設定給叢集中的各個伺服器節點。

===>保證每台定時伺服器的節點持有唯一的定時任務。

===>當叢集中有節點當機,保證當機的節點持有的任務會被重新配置設定到正常運作的伺服器節點上。

===>将協調的結果交給本地容器

(2)本地容器

===>持有本定時伺服器持有的定時任務

===>将本地容器的任務推送到quartz的容器中,使其完成定時任務觸發

(3)Quartz

===>該容器觸發定時任務,将任務發送到jms消息上,由業務伺服器監聽觸發業務定時。

<二>zookeeper上如何協調任務配置設定的節點建立結構

【2】基于zookeeper,quartz,rocketMQ實作叢集化定時系統

(1)Server節點下的子節點,為定時伺服器叢集中的服務注冊節點

(2)Task節點下的子節點,為定時系統所有的定時任務的節點。

(3)每一個task任務節點下會有唯一一個子節點,該子節點是定時服務叢集中伺服器唯一持有該任務的機器節點。