【2】基于zookeeper,quartz,rocketMQ实现集群化定时系统
2017-04-26 18:47
801 查看
<一>项目结构图
(1)ZK协调分配
===>集群中的每一个定时服务器与zookeeper交互,由集群中的master节点进行任务划分,并将划分结果分配给集群中的各个服务器节点。
===>保证每台定时服务器的节点持有唯一的定时任务。
===>当集群中有节点宕机,保证宕机的节点持有的任务会被重新分配到正常运行的服务器节点上。
===>将协调的结果交给本地容器
(2)本地容器
===>持有本定时服务器持有的定时任务
===>将本地容器的任务推送到quartz的容器中,使其完成定时任务触发
(3)Quartz
===>该容器触发定时任务,将任务发送到jms消息上,由业务服务器监听触发业务定时。
<二>zookeeper上如何协调任务分配的节点创建结构
(1)Server节点下的子节点,为定时服务器集群中的服务注册节点
(2)Task节点下的子节点,为定时系统所有的定时任务的节点。
(3)每一个task任务节点下会有唯一一个子节点,该子节点是定时服务集群中服务器唯一持有该任务的机器节点。
(1)ZK协调分配
===>集群中的每一个定时服务器与zookeeper交互,由集群中的master节点进行任务划分,并将划分结果分配给集群中的各个服务器节点。
===>保证每台定时服务器的节点持有唯一的定时任务。
===>当集群中有节点宕机,保证宕机的节点持有的任务会被重新分配到正常运行的服务器节点上。
===>将协调的结果交给本地容器
(2)本地容器
===>持有本定时服务器持有的定时任务
===>将本地容器的任务推送到quartz的容器中,使其完成定时任务触发
(3)Quartz
===>该容器触发定时任务,将任务发送到jms消息上,由业务服务器监听触发业务定时。
<二>zookeeper上如何协调任务分配的节点创建结构
(1)Server节点下的子节点,为定时服务器集群中的服务注册节点
(2)Task节点下的子节点,为定时系统所有的定时任务的节点。
(3)每一个task任务节点下会有唯一一个子节点,该子节点是定时服务集群中服务器唯一持有该任务的机器节点。
相关文章推荐
- 【1】基于quartz框架和Zookeeper实现集群化定时任务系统
- [置顶] 基于zookeeper和quartz实现分布式定时调度
- 基于Quartz实现简单的定时发送邮件
- 基于python网络编程实现支持购物、转账、存取钱、定时计算利息的信用卡系统
- 基于ZooKeeper,Spring设计实现的参数系统
- 基于ASP.NET MVC(C#)和Quartz.Net组件实现的定时执行任务调度
- 基于ASP.NET MVC(C#)和Quartz.Net组件实现的定时执行任务调度
- Java 基于quartz实现定时 之一(注解方式配置)
- Spring 3整合Quartz 2实现定时任务一:常规整合 (基于maven构建)
- TopShelf+Quartz.net实现基于window服务的定时调度
- 基于spring+quartz的分布式定时任务框架实现
- 2种基于简单定时任务实现分布式定时任务的技术解决方案(zookeeper、redis和内联MQ)
- 基于python网络编程实现支持购物、转账、存取钱、定时计算利息的信用卡系统
- Java 基于quartz实现定时 之一(注解方式配置)
- 基于maven发送邮件系列(3)---maven自带的quartz实现定时发送邮件
- 基于ASP.NET MVC(C#)和Quartz.Net组件实现的定时执行任务调度
- Spring 3整合Quartz 2实现定时任务一:常规整合 (基于maven构建)
- 基于Quartz实现定时任务-框架学习
- 基于ASP.NET MVC(C#)和Quartz.Net组件实现的定时执行任务调度
- spring 基于quartz框架实现定时周期执行