Elastic-Job使用总结
场景一:多个任务,分布式执行,并且需要避免不同节点上重复执行任务
解决方法:
1) 分片数设置为1;
2)不同的jobName要设置成唯一的;
3)使用 RotateServerByNameJobShardingStrategy分片策略;
JobCoreConfiguration.Builder builder = JobCoreConfiguration.newBuilder(final String jobName, final String cron, final int shardingTotalCount)
场景二:需要执行某一类任务,比如查询一个数据库表的多个记录,一条记录就是一个任务,需要分散压力到多个节点上
解决方法:
1)分片数设置成集群节点数相同或节点的倍数;
2)jobName每个节点必须设置成相同的值,如果每个节点上的jobName不同,则每个节点都会执行所有的分片,因为ElasticJob是根据JobName来区分任务的,名字相同,会当成同一个任务,然后对该任务进行分片;
3)使用AverageAllocationJobShardingStrategy分片策略;
JobCoreConfiguration.Builder builder = JobCoreConfiguration.newBuilder(final String jobName, final String cron, final int shardingTotalCount)
还没有评论,来说两句吧...