当前位置: 首页 > wzjs >正文

网站商城开发南京网站建设小程

网站商城开发,南京网站建设小程,做网站卖赚钱吗,如何实现wordpress伪静态XXL-JOB二次分片机制及优化策略 二次分片实现原理 XXL-JOB的二次分片是在分片广播策略的基础上,由开发者自行实现的更细粒度数据拆分。核心流程如下: 初次分片:调度中心根据执行器实例数量(总分片数n)分配分片索引i&…

XXL-JOB二次分片机制及优化策略


二次分片实现原理

XXL-JOB的二次分片是在分片广播策略的基础上,由开发者自行实现的更细粒度数据拆分。核心流程如下:

  1. 初次分片:调度中心根据执行器实例数量(总分片数n)分配分片索引i(0 ≤ i < n)。
  2. 二次分片:在任务逻辑中,将当前分片数据进一步拆分为m个子分片,公式为:
    子分片范围 = 当前分片数据总量 / m
    例如:某个分片需处理1000条数据,拆分为m=10个子分片,每个子分片处理100条。

代码示例(结合分片参数与子分片逻辑):

@XxlJob("doubleShardingJob")
public void execute() {int totalShards = XxlJobHelper.getShardTotal();  // 初次分片总数nint currentShard = XxlJobHelper.getShardIndex(); // 当前分片iList<Long> dataIds = fetchDataByShard(currentShard, totalShards); // 初次分片获取数据int subShards = 5; // 二次分片数mfor (int j=0; j<subShards; j++) {int start = j * dataIds.size() / subShards;int end = (j+1) * dataIds.size() / subShards;processSubShard(dataIds.subList(start, end)); // 处理二次分片数据}
}

二次分片典型问题
问题类型具体表现
数据倾斜子分片数据量不均,导致部分实例负载过高(如子分片1处理2000条,子分片2处理50条)
分片状态管理复杂需额外记录子分片处理进度,数据库交互频繁(如维护shard_status表跟踪完成情况)
动态扩缩容失效执行器实例增减时,初次分片总数n变化,原有二次分片逻辑需重新适配
失败重试成本高某个子分片失败需全量重试,无法精准重试失败片段(如仅重试子分片3的100条数据)

优化策略与方案
1. 动态子分片算法
  • 按数据特征分片:根据数据分布动态计算子分片数。
    // 根据数据量动态计算子分片数(每子分片最多处理500条)
    int subShards = Math.max(1, dataIds.size() / 500);
    
  • 一致性哈希:使用哈希环分配子分片,减少实例增减时数据迁移量。
2. 批量处理与异步化
  • 批量操作:合并数据库交互,单次提交多条数据。
    -- 批量插入优化(减少IO次数)
    INSERT INTO table (id, result) VALUES (1, 'ok'), (2, 'ok'), ...;
    
  • 异步线程池:为子分片分配独立线程处理,提升吞吐量(需控制线程池大小避免资源耗尽)。
3. 分片状态轻量化管理
  • Redis分片锁:使用Redis记录子分片处理状态,降低数据库压力。
    String key = "job:1001:shard:" + currentShard + ":sub:" + j;
    Boolean acquired = redis.setnx(key, "processing", 300); // 加锁
    
  • 分段提交:每处理完一个子分片即更新状态,避免全量回滚。
4. 失败重试精准化
  • 死信队列重试:将失败数据ID写入RabbitMQ死信队列,由独立消费者重试。
    if (processFailed) {rabbitTemplate.convertAndSend("dlx_exchange", failedData);
    }
    
  • 断点续传:记录已处理数据的最大ID,重试时从断点开始(如last_id=500)。

实际案例参考
  • 电商大促场景
    初次分片按用户ID哈希分片,二次分片按订单时间范围拆分,结合Elasticsearch滚动查询优化数据拉取速度。

在这里插入图片描述


文章转载自:

http://XT6rUzT8.tpxgm.cn
http://vJsw2IJy.tpxgm.cn
http://qmUGDwc6.tpxgm.cn
http://ZGJf5lzO.tpxgm.cn
http://eYoRwRe8.tpxgm.cn
http://w508t6UF.tpxgm.cn
http://bviJ9QLI.tpxgm.cn
http://1xMAM4ii.tpxgm.cn
http://wRHTiGJg.tpxgm.cn
http://64EDQ9gg.tpxgm.cn
http://DiXTJzev.tpxgm.cn
http://F6uadE8w.tpxgm.cn
http://5SekxKXG.tpxgm.cn
http://kKU0tWk9.tpxgm.cn
http://7AiPfzG4.tpxgm.cn
http://l290Z3gi.tpxgm.cn
http://jdmteuru.tpxgm.cn
http://i08053fD.tpxgm.cn
http://PfkLwSN1.tpxgm.cn
http://L0nu0hjq.tpxgm.cn
http://Gg01zIXP.tpxgm.cn
http://yPz7Qi4r.tpxgm.cn
http://Sm2GjUcC.tpxgm.cn
http://HLo7283i.tpxgm.cn
http://cLZdnVee.tpxgm.cn
http://VvG1FqlT.tpxgm.cn
http://LOQrcFyw.tpxgm.cn
http://T1jJEUxw.tpxgm.cn
http://oNqM4HkP.tpxgm.cn
http://NEGh78N0.tpxgm.cn
http://www.dtcms.com/wzjs/647756.html

相关文章:

  • 企业网站备案查询小程序定制开发注意事项
  • 企业建网站一般要多少钱做酒店网站有哪些目录
  • 中山网站建设平台当下网站建设
  • 南京百家湖网站建设优惠券的网站制作
  • wordpress实例站景区官方网站建设方案
  • 湖南门户网站建设石家庄定制网站建设
  • 郑州网站的优化织梦网站打不开
  • 郑州 服装网站建设邯郸小程序定制开发
  • 西安市免费做网站软文是什么意思
  • 网站开发培训学院网上给别人做设计的网站
  • 网站定制论文1500字左右网站制作综述
  • 塑胶原料东莞网站建设技术支持深圳网站建设黄浦网络-骗钱
  • 鲜花网站建设项目策划书ipad怎么制作网站
  • 建站之星网站建设系统企业内部网站打不开
  • 网站建设 通讯员营销中国
  • 上海住房和城乡建设局网站首页贵州省建设执业资格促进会网站
  • 网站悬浮窗口代码品牌网鞋有哪些牌子
  • 网站设计 开发人员辽宁个人网站建设口碑推荐
  • 免费建设公司网站wordpress语言包下载
  • 如何招聘软件网站开发人员做一个电商网站需要多少钱
  • 高粱seo博客seo网络推广专员
  • 网站建设怎样把网页连接起来wordpress页面修改密码
  • 青海企业网站建设公司双语网站后台怎么做
  • 郑州网站建设联系方式frontpage制作个人网站 技巧
  • 福州公司建站模板泰安民生网
  • 南京专业做网站公司地址城市门户网站
  • 九易建网站的建站模板深圳网站开发服务
  • 定制网站开发冬天里的白玫瑰jsp网站建设项目实战课本内容
  • 无法进入建设银行网站怎呀做网站
  • 昆山网站建设昆山网站的建设的项目介绍怎么写