RocketMQ事物消息调研
一、背景
在部分业务场景中,系统需要更新存储的数据同时通过消息通知外部,而且又有一致性的需求,这就需要保证更新数据和发送消息构成一个事物,即更新数据与发送消息同时成功或同时失败。目前关系数据库已经实现事物,大多MQ也均已实现事物消息,所以这篇文章调研当前MQ的事物消息现状、使用和设计及实现。目前主要使用Apache RocketMQ(下文简称RocketMQ、RMQ)和QMQ,所以只分析这两种。
在部分业务场景中,系统需要更新存储的数据同时通过消息通知外部,而且又有一致性的需求,这就需要保证更新数据和发送消息构成一个事物,即更新数据与发送消息同时成功或同时失败。目前关系数据库已经实现事物,大多MQ也均已实现事物消息,所以这篇文章调研当前MQ的事物消息现状、使用和设计及实现。目前主要使用Apache RocketMQ(下文简称RocketMQ、RMQ)和QMQ,所以只分析这两种。