消息队列的一致性问题

460 阅读1分钟

问题

生产环境中很可能发送消息队列的消息后,由于其它服务问题等原因导致业务逻辑执行出错从而事务被回滚,这样就会出现发送的消息与实际的业务情况不一致。

图片.png

方案

1. 新增数据库表"消息队列消息表"。

2. 在同个事务中把要发送的消息写到"消息队列消息表"。

图片.png

3. 定义定时任务/调度任务根据"消息队列消息表"发送消息。