保证消息可靠性和数据一致性的解决方案
本地消息表方案
1.添加数据库事务
2.创建本地消息表(内含消息状态)
3.在发消息之前将消息的相关信息写入本地消息表中,这样就保证了本地数据库业务操作以及消息表的一致性
4.生产者确认机制,未成功,则报错回滚。(若为分布式项目,则定时任务轮询发送未成功消息)
5.消费者成功之后更新本地消息表的内容(即使一直未成功,数据库中也有记录)。
学习参考:
1.添加数据库事务
2.创建本地消息表(内含消息状态)
3.在发消息之前将消息的相关信息写入本地消息表中,这样就保证了本地数据库业务操作以及消息表的一致性
4.生产者确认机制,未成功,则报错回滚。(若为分布式项目,则定时任务轮询发送未成功消息)
5.消费者成功之后更新本地消息表的内容(即使一直未成功,数据库中也有记录)。
学习参考: