• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

无信不立

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

【2】基于zookeeper,quartz,rocketMQ实现集群化定时系统

<一>项目结构图

 

 

(1)ZK协调分配

===>集群中的每一个定时服务器与zookeeper交互,由集群中的master节点进行任务划分,并将划分结果分配给集群中的各个服务器节点。

===>保证每台定时服务器的节点持有唯一的定时任务。

===>当集群中有节点宕机,保证宕机的节点持有的任务会被重新分配到正常运行的服务器节点上。

===>将协调的结果交给本地容器

 

(2)本地容器

===>持有本定时服务器持有的定时任务

===>将本地容器的任务推送到quartz的容器中,使其完成定时任务触发

 

(3)Quartz

===>该容器触发定时任务,将任务发送到jms消息上,由业务服务器监听触发业务定时。

 

<二>zookeeper上如何协调任务分配的节点创建结构

 

 

(1)Server节点下的子节点,为定时服务器集群中的服务注册节点

(2)Task节点下的子节点,为定时系统所有的定时任务的节点。

(3)每一个task任务节点下会有唯一一个子节点,该子节点是定时服务集群中服务器唯一持有该任务的机器节点。

 

posted on 2017-04-26 18:47  无信不立  阅读(1248)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3