为了优化大基数开票任务的优化-CSDN博客以及实际落地,本次介绍开发对应demo过程
本章作为本次VibeCoding技术选型以及整体架构介绍,可持续跟进:
线程池:采用快慢两池,按任务性质隔离
fastPool:跑充值、查询、下单等短任务,core=max=10,保护普通业务 RT。heavyPool:只跑开票重任务,core=8,max=32,支持并行分片,可独立扩缩容。- 理由:线程是稀缺资源,按“快慢特征”分池精准解决阻塞,池少好监控好调参;必要时特殊业务未来再单独加池
本Demo做了以下几种模拟情况:
①未改进版本开票(没有拆分线程池)[整个系统所有任务使用同一个线程池]
②改进版本开票(快慢任务线程池)[将大量的开票任务和其他零星小任务隔离开]
③充值任务(模拟快速任务)[类似的快速任务还可以是查询、下单这类扁平快的任务]
效果突出:
本文简单介绍,后续会有细节剖析