欢迎光临
我们一直在努力

优化开票任务Demo开发(章节1)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}

为了优化大基数开票任务的优化-CSDN博客以及实际落地,本次介绍开发对应demo过程

本章作为本次VibeCoding技术选型以及整体架构介绍,可持续跟进:

PniubiPlus/ConcurrentHashMap_SplitingThreadPool_Demo: Demohttps://github.com/PniubiPlus/ConcurrentHashMap_SplitingThreadPool_Demo

不同于前文采用一种业务一个线程池的方案,本次只采用两个线程池,快任务慢任务分别各一个线程池即可

线程池:采用快慢两池,按任务性质隔离

  • fastPool:跑充值、查询、下单等短任务,core=max=10,保护普通业务 RT。
  • heavyPool:只跑开票重任务,core=8,max=32,支持并行分片,可独立扩缩容。
  • 理由:线程是稀缺资源,按“快慢特征”分池精准解决阻塞,池少好监控好调参;必要时特殊业务未来再单独加池

本Demo做了以下几种模拟情况:

①未改进版本开票(没有拆分线程池)[整个系统所有任务使用同一个线程池]

②改进版本开票(快慢任务线程池)[将大量的开票任务和其他零星小任务隔离开]

③充值任务(模拟快速任务)[类似的快速任务还可以是查询、下单这类扁平快的任务]

效果突出:

本文简单介绍,后续会有细节剖析

赞(0)
未经允许不得转载:171主机测评 » 优化开票任务Demo开发(章节1)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址