Elastic-Job分片
AbstractElasticJob在执行job的时候会获取分片内容JobExecutionMultipleShardingContext,通过shardingService.shardingIfNecessary()进行分片。分片默认得分片策略是均分算法AverageAllocationJobShardingStrategy.sharding(),获取本机的分片序列号shardingService.getLocalHostShardingItems(),并把分片序列号进行set。我们在写具体的业务job,实现process方法时候,可以通过shardingContext获取分片序列号shardingItems。
例如:
投标分10片,那么每台服务器都会获取到对应的分片序列号。当一台服务器那么分片序列号是0,1,2,3,4,5,6,7,8,9,当两台服务器的时候分片序列号是服务器A-0,1,2,3,4服务器B-5,6,7,8,9,实现可以根据查询业务数据进行进行%10取余,如果取到的余在获取的分片序列号内进行投标处理,如果不在则不处理。投标考虑标id和账户<