<一>项目结构图
(1)ZK协调分配
===>集群中的每一个定时服务器与zookeeper交互,由集群中的master节点进行任务划分,并将划分结果分配给集群中的各个服务器节点。
===>保证每台定时服务器的节点持有唯一的定时任务。
===>当集群中有节点宕机,保证宕机的节点持有的任务会被重新分配到正常运行的服务器节点上。
===>将协调的结果交给本地容器
(2)本地容器
===>持有本定时服务器持有的定时任务
===>将本地容器的任务推送到quartz的容器中,使其完成定时任务触发
(3)Quartz
===>该容器触发定时任务,将任务发送到jms消息上,由业务服务器监听触发业务定时。
<二>zookeeper上如何协调任务分配的节点创建结构
(1)Server节点下的子节点,为定时服务器集群中的服务注册节点
(2)Task节点下的子节点,为定时系统所有的定时任务的节点。
(3)每一个task任务节点下会有唯一一个子节点,该子节点是定时服务集群中服务器唯一持有该任务的机器节点。