首页 > 编程知识 正文

分布式下的定时任务如何保证,分布式定时任务调度中心

时间:2023-05-05 01:28:30 阅读:13063 作者:4790

分布式调度任务程序

介绍

基于zookeeper实现的分布式定时任务程序。

软件体系结构

包括:

1.zookeeper

2.quartz

3 .集群

4.rabbitmq

5.springboot

6.redisson

说明

1 .是通过集群内置的选举系统操作选举指挥。

2 .主注册日程任务

一旦访问了工作器,就开始向mq发送任务。

使用

1 .配置当前在AbstractInitParam类中死亡的zookeeper的连接地址,并在resources/properties中配置redis和rabbitmq。

2 .要创建计划任务,必须使用@Schedule注释类、@ScheduleGetBeanFromMethod注释Bean方法。 具体来说,请查看com.l.scheduleserver.exampleschedulebean包下的示例。

只有一个读取器,所有其他新访问都是工作器,工作器动态访问。

使用方法说明

当前程序只完成了分布式分配和注册调度任务的获取,调度任务只能写在Java类中继承Job接口。

剩下的完成项目:

1.zookeeper连接配置的后续支持: properties格式解决。

2 .添加报警通知:邮件通知。

3 .添加用于搜索打印日志的elasticsearch,降低维护成本。

4 .执行新脚本(最高优先级)。

目前的问题

1 .目前只有一个主控,注册的任务太多会遇到瓶颈。

2 .目前还没有办法同步mq中的请求,而是在任务执行过程中反复调用。

3 .目前只能写代码的定时任务,界限太大了。 当前模式传输模式必须针对sql脚本、shell脚本等。 (目前这还需要学习,无法实现)

V1.0

主要逻辑已初步完成。

V1.1

更改传输逻辑,注册原始http调用,改为将任务发送到mq,工作器监听执行。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。