RabbitMQ 和数据库事务

Kim*_*imi 5 database transactions rabbitmq

RabbitMQ 是否支持在数据库事务提交时发送收到的消息确认的场景?

目前我们在数据库事务提交后发送确认。如果服务在中间失败,我们将得到数据重复 - 服务将再次收到相同的消息。

这个问题有模式吗?

谢谢!

小智 3

是的,但请注意 RabbitMQ 使用自己的数据库来存储消息(目前)。要让 RabbitMQ 向发布者发送 ack,请使用 TX 模式。这已记录在规范和我们网站的各个部分中。

如果您想使用自己的数据库,那么您可能需要将其设置为消息的最终使用者。在这种情况下,您应该使用自己的应用程序级 ack。

请随时向rabbitmq-discuss发送电子邮件以获取更多信息和问题。

华泰

亚历克西斯