# 第18节:扫描库表补偿发货单MQ消息
作者:小傅哥
博客:https://bugstack.cn (opens new window)
沉淀、分享、成长,让自己和他人都能有所收获!
- 分支:211113_xfg_MQCompensateJob (opens new window)
- 描述:分布式任务调度,扫描抽奖发货单消息状态,对于未发送MQ或者发送失败的MQ,进行补偿发送处理
# 零、优秀作业
- 扫描库表补偿发货单MQ消息 @一点江南 (opens new window)
- 扫描库表补偿发货单MQ消息 @BerserkD (opens new window)
- 用xxl-job实现定时补偿发送mq消息 @Chin (opens new window)
- 扫描库表补偿发货单MQ消息 @Geroge Liu (opens new window)
- 扫描库表补偿发货单MQ消息 @liuc (opens new window)
- 扫描库表补偿发货单MQ消息 @咖啡苦涩 (opens new window)
- 画一个Lottery的流程图,对整体业务加设计思想进行总结 @小曹不会emo (opens new window)
- 定时任务扫描库表补偿发货单MQ消息,已经是一个完整的流程了 @F+Y (opens new window)
# 一、开发日志
- 因为需要扫描库表,也就是循环的方式把每个库下的多张表中的每条用户记录,都进行扫描。所以需要在分库分表组件中,提供出可以设置路由到的库和表,这样就可以满足我们扫描的动作了。这部分大家可以看最新的 db-router-spring-boot-starter (opens new window)
- 在 application 应用层下的 worker 包 LotteryXxlJob 中,添加关于扫描库表补偿消息发送的任务,并在开发完成后把任务配置到 xxl-job 任务调度后台中。关于任务的配置,我们在上一个章节,已经讲述过
# 二、任务流程
- 我们的任务流程,完成的就是整个抽奖活动中,关于中奖结果落库后,进行MQ后。出现问题时,进行补偿消息发送处理的部分。
- 在MQ消息补偿的过程中,会把发送失败的消息和迟迟没有发送的消息,都进行补偿,已保障全流程的可靠性。