# 《本地任务消息组件》- 第1节:组件需求分析

作者:小傅哥
博客:https://bugstack.cn (opens new window)
课程:https://t.zsxq.com/Pfekb (opens new window)

沉淀、分享、成长,让自己和他人都能有所收获!😄

# 一、本章诉求

从今天开始,我们将进入一个新的组件项目学习。该组件聚焦于业务功能开发中的通用技术场景,提炼出一个技术解决方案,专门解决在完成数据库事务的同时,还需对外发送消息(MQ)或发起HTTP调用的最终一致性问题。

由于MQ消息发送和HTTP调用无法与数据库写操作在同一事务中完成,导致一致性难以保障。若没有统一的组件支持,各业务系统需各自实现这部分逻辑,造成重复开发且难以维护。为此,我们提取并开发了该技术组件,统一解决这一共性难题,提升系统的可靠性和开发效率。

# 二、功能案例

使用方通过引入本地消息组件,使用服务;

  • 用户可以选择通过注解或者直接调用组件服务的方式进行使用。
  • 注解方式,会自动获取入参,入参需要为 TaskMessageEntityCommand 对象,它可以是某个入参的对象。之后配置 req.command 也可以获取。

这个组件,解决的就是所有需要在完成业务流程时候,还要发送 MQ 或者 http 外部调用的场景。并提供本地消息表,确保最终一致性。