分布式定时任务调度框架实践( 四 )

(6)实现 SimpleJob接口,按上文中方法整合dubbo, 完成业务逻辑 。???????
@ElasticSimpleJob(cron = "*/10 * * * * ?",jobName = "OfflineTaskJob",shardingTotalCount = 2,jobParameter = "测试参数",shardingItemParameters = "0=A,1=B")@Componentpublic class MySimpleJob implements SimpleJob {Logger logger = LoggerFactory.getLogger(OfflineTaskJob.class);@Reference(check = false, version = "cms-dev", group = "cms-service")private OfflineTaskExecutorFacade offlineTaskExecutorFacade;@Overridepublic void execute(ShardingContext shardingContext) {offlineTaskExecutorFacade.executeOfflineTask();logger.info(String.format("Thread ID: %s, 作业分片总数: %s, " +"当前分片项: %s.当前参数: %s," +"作业名称: %s.作业自定义参数: %s",Thread.currentThread().getId(),shardingContext.getShardingTotalCount(),shardingContext.getShardingItem(),shardingContext.getShardingParameter(),shardingContext.getJobName(),shardingContext.getJobParameter()));}}

分布式定时任务调度框架实践

文章插图
 

分布式定时任务调度框架实践

文章插图
 
 
2.6 其余开源框架(1)Saturn:Saturn是唯品会开源的一个分布式任务调度平台,在Elastic Job的基础上进行了改造 。
(2)SIA-TASK:是宜信开源的分布式任务调度平台 。
三、优劣势对比和业务场景适配思考
分布式定时任务调度框架实践

文章插图
 
???????
业务思考:
  1. 丰富任务监控数据和告警策略 。
  2. 接入统一登录和权限控制 。
  3. 进一步简化业务接入步骤 。
四、结语对于并发场景不是特别高的系统来说,xxl-job配置部署简单易用,不需要引入多余的组件,同时提供了可视化的控制台,使用起来非常友好,是一个比较好的选择 。希望直接利用开源分布式框架能力的系统,建议根据自身的情况来进行合适的选型 。
 
 
原文: https://mp.weixin.qq.com/s/l4vuYpNRjKxQRkRTDhyg2Q

【分布式定时任务调度框架实践】


推荐阅读