【2】基于zookeeper,quartz,rocketMQ实现集群化定时系统
生活随笔
收集整理的這篇文章主要介紹了
【2】基于zookeeper,quartz,rocketMQ实现集群化定时系统
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<一>項目結構圖
?
?
(1)ZK協調分配
===>集群中的每一個定時服務器與zookeeper交互,由集群中的master節點進行任務劃分,并將劃分結果分配給集群中的各個服務器節點。
===>保證每臺定時服務器的節點持有唯一的定時任務。
===>當集群中有節點宕機,保證宕機的節點持有的任務會被重新分配到正常運行的服務器節點上。
===>將協調的結果交給本地容器
?
(2)本地容器
===>持有本定時服務器持有的定時任務
===>將本地容器的任務推送到quartz的容器中,使其完成定時任務觸發
?
(3)Quartz
===>該容器觸發定時任務,將任務發送到jms消息上,由業務服務器監聽觸發業務定時。
?
<二>zookeeper上如何協調任務分配的節點創建結構
?
?
(1)Server節點下的子節點,為定時服務器集群中的服務注冊節點
(2)Task節點下的子節點,為定時系統所有的定時任務的節點。
(3)每一個task任務節點下會有唯一一個子節點,該子節點是定時服務集群中服務器唯一持有該任務的機器節點。
?
總結
以上是生活随笔為你收集整理的【2】基于zookeeper,quartz,rocketMQ实现集群化定时系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS-获取class类名为某个的元素-【
- 下一篇: Kafka学习-复制