java分布式定时_分布式定时任务程序
分布式定时任务程序
介绍
基于zookeeper实现的分布式定时任务程序。
软件架构
包含:
1.zookeeper
2.quartz
3.curator
4.rabbitmq
5.springboot
6.redisson
描述
1.是通过curator内置的选举类来操作选举master。
2.master注册定时任务
3.当有接入worker时,会开始将任务发送给mq。
使用
1.配置zookeeper的连接地址(目前写死在AbstractInitParam类中),在resources/properties中配置redis和rabbitmq。
2.编写定时任务,需要使用注解@Schedule标注类,@ScheduleGetBeanFromMethod标注Bean方法,具体请查看com.l.scheduleserver.exampleScheduleBean包下的例子。
3.只会有一个leader,其他新接入的都为worker,worker动态接入。
使用说明
当前程序只完成了分布的分配与注册定时任务的获取,定时任务只能写在Java类中继承Job接口。
剩余需要完成项:
1.zookeeper的连接配置后续支持:properties格式解析。
2.增加告警提醒:邮件提醒。
3.新增elasticsearch,用于对打印日志搜索,降低维护成本。
4.新增脚本执行(优先级最高)。
目前的问题
1.目前master只能为1个,所以当注册的任务过多时,会成为瓶颈。
2.目前无法想到如何才能使得mq中的请求同步,在执行任务会重复调用。
3.目前只能写成代码的定时任务,局限性太大。当前的模式传输模式应该是对于sql脚本、shell脚本等才行。(目前这块还需要学习,无法实现)
V1.0
已初步完成主要逻辑。
V1.1
改变传输的逻辑,将原来的http调用注册,改为将任务发送至mq中,worker监听执行。
java分布式定时_分布式定时任务程序相关推荐
- python分布式任务调度_分布式定时任务调度框架
1. 目标 把定时任务通过集群的方式进行管理调度,并采用分布式部署,保证系统的高可用,提高了容错.那么如何保证定时任务只在集群的某一个节点上执行,或者一个任务如何拆分为多个独立的任务项,由分布式的机器 ...
- java gui框架_推荐!程序员整理的Java资源大全
构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种过程化 ...
- java jta_JTA规范_分布式事务教程_田守枝Java技术博客
JTA规范事务模型 Java事务API(JTA:Java Transaction API)和它的同胞Java事务服务(JTS:Java Transaction Service),为J2EE平台提供了分 ...
- java不规则算法_分布式id生成算法 snowflake 详解
背景 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识.如在支付流水号.订单号等,随者业务数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需 ...
- Java jta 原理_分布式事务JTA实现Atomikos与Spring集成实践
Atomikos官网无法访问,不过Maven中央库中具atomikos包.Atomikos集成Spring,Hibernate,Mybatis网上文章比较多,本文是通过JavaSE的方式借用Sprin ...
- java文件存储系统_分布式小文件存储系统
#分布式图片存储系统(demo版) ##服务端启动流程: 1.启动nameserver: 运行ndfs.nameserver.NameServerMainClass的main方法.相应的端口和参数配置 ...
- java分布式全文检索_分布式全文检索服务器——ElasticSearch(1)
写在前面 Elaticsearch,简称为es,es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储.检索数据:本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据.es也使用Jav ...
- mysql ef 分布式事务_分布式事务系列--分布式跨库查询解决方案 mysql federated引擎的使用...
背景 在服务高度拆分,数据库不断细化切分的情况下,我们经常有连接多台数据库查询的需求,如果不断的把数据库连接的逻辑添加在代码中,那么这种耦合会越来越严重,这会给程序的拓展和维护带来很大的麻烦. mys ...
- python分布式事务_分布式事务的管理--atomikos
在一些业务场景及技术架构下,跨库的事务时不可避免的,这时候如何统一管理事务,保证事务的强一致性是整个系统稳定.可用基石.一些中间件如tuxedo.cics就是凭借这个能力占据了金融.电信.银行等很大的 ...
最新文章
- IT业爆发“新人”争夺战
- busybox filesystem httpd php-5.5.31 sqlite3 webserver
- 如何“主动出击”提升网站的收录速度?
- python代码安全扫描工具
- 1082 Read Number in Chinese (25 分)【难 / 模拟 字符串】
- 系统视频教学视频教程_太极拳教学视频教程,董氏太极拳基本功训练方法视频...
- Gridview 隐藏列
- 下周开幕,给深圳的电子工程师准备的展会!
- java事件 socket_java中有关socket通信的学习笔记
- python中class_【机器学习基础】数学推导+纯Python实现机器学习算法11:朴素贝叶斯...
- hibernate中查询方式(一):
- 03173软件开发工具主观题汇总
- C# 根据EXCEL自动生成oracle建表语句
- Mixly 软件的基本应用
- 无线射频收发芯片SI24R1技术相关问题解答
- odoo13 学习 Actions 动作的定义
- CCS3.3 新建工程遇到的问题
- 读取Excel工具类ExcelUtils
- Jackson Western印迹检测分析物丨比色免疫印迹
- Cocos Creator | 通过 effect 实现卷轴展开和收拢效果
热门文章
- GitLab+Shell用户周期性数据统计分析工具(自动生成HTML格式)
- Java手写单例模式
- MFC单项选择题标准化考试系统
- arping指令即其参数对应的功能
- java license 验证方案,使用License3j实现简单的License验证
- 12.郝斌C语言笔记——枚举
- 摒除GITHUB“祸害”,跟GITHUB说拜拜 Fcloud自由安全的栖息之地
- HTML <bdi> 标签
- 流媒体服务器+终端(android,ios,web),如何从海康平台上拉流接入RTSP安防网络摄像头/海康大华硬盘录像机网页无插件直播流媒体服务器EasyNVR?...
- RS485接口连接设备数量总共有多少?