【技术实现步骤摘要】
基于微服务的低入侵分布式定时任务调度系统及方法
本专利技术属于分布式任务调度领域,具体涉及到一种基于微服务的低入侵分布式定时任务调度系统。
技术介绍
在很多应用系统中,常常会有系统内部的定时执行一些任务。比如,销售系统的订单超时状态判断、定时更新缓存数据、定时给指定用户发送会议邮件,甚至是定期做一些报表数据统计。常见的处理方式有线程的while(true)和sleep组合、使用java.util.Timer定时器触发任务又或者是使用quartz、springtask等框架。貌似这些方法可以完美的解决方案任务调度是设定某个时间点自动触发的任务,任务按设定的时间规律去执行。实际在单机应用系统确实没有问题,但是如今为保证服务的高可用,服务部署都是集群化的,当这些方法应用于集群环境时,不可避免的会造成重复执行。当然也有解决方案,如依赖数据库,将任务执行状态持久化下来。也可采用目前行业中应用比较成熟的分布式定时任务调度系统如:xxl-job、Elastic-job、Saturn等。不论是采用成熟的任务调度系统方案,还是依赖数据库持久化 ...
【技术保护点】
1.基于微服务的低入侵分布式定时任务调度系统,其特征在于,包括业务系统集群和注册中心集群,其中:/n所述业务系统集群包括多个微服务应用实例,每个微服务应用实例设置注册客户端和调度单元,所述注册客户端用于获取微服务应用实例信息,发送给注册中心进行注册;所述调度单元用于根据调度模式对任务对应微服务应用组的各个微服务应用实例进行调度运算,确定任务执行节点;/n所述注册中心集群包括多个注册中心,所述注册中心用于根据应用实例信息对微服务应用实例进行分组存储,并将注册信息在各注册中心之间同步。/n
【技术特征摘要】
1.基于微服务的低入侵分布式定时任务调度系统,其特征在于,包括业务系统集群和注册中心集群,其中:
所述业务系统集群包括多个微服务应用实例,每个微服务应用实例设置注册客户端和调度单元,所述注册客户端用于获取微服务应用实例信息,发送给注册中心进行注册;所述调度单元用于根据调度模式对任务对应微服务应用组的各个微服务应用实例进行调度运算,确定任务执行节点;
所述注册中心集群包括多个注册中心,所述注册中心用于根据应用实例信息对微服务应用实例进行分组存储,并将注册信息在各注册中心之间同步。
2.根据权利要求1所述的基于微服务的低入侵分布式定时任务调度系统,其特征在于,所述注册中心集群的各个注册中心不分主次,注册客户端在向某个注册中心发送注册信息时,如果发现连接失败,则会自动切换至其它节点。
3.根据权利要求1所述的基于微服务的低入侵分布式定时任务调度系统,其特征在于,所述注册中心与注册客户端交互过程中,心跳如出现断链开,注册中心会主动重连,重连超过阀值后,判定应用实例不可用,从注册列表中移除,不会参与后续的调度运算。
4.根据权利要求1所述的基于微服务的低入侵分布式定时任务调度系统,其特征在于,所述注册中心集群设置自我保护机制,在部分注册中心与客户端出现网络故障时触发,包括:
(1)注册中心不再从注册列表中移除因为长时间没收到心跳而应该过期的服务,但会标记服务状态为未知,未知状态的实例信息不参与调度计算;
(2)注册中心仍能接收新服务的注册和查询请求,保证当前注册中心依然可用;
(3)当网络稳定时,新的注册信息会被同步到其他注册中心。
5.根据权利要求1所述的基于微服务的低入侵分布式定时任务调度系统,其特征在于,所述调度单元支持最早注册模式、轮询模式和资源优先模式三种调度计算模式。
6.根据权利要求1所述的基于微服务的低入侵分布式定时任务调度系统,其特征在于,所述注册...
【专利技术属性】
技术研发人员:王刚,李男一,
申请(专利权)人:苏宁云计算有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。