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)


版权声明:本文为menggudaoke原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。