【问题标题】:RabbitMQ and DB transactionsRabbitMQ 和 DB 事务
【发布时间】:2010-03-02 10:53:27
【问题描述】:

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

目前我们在 DB 事务提交后发送 ack。如果服务在两者之间发生故障,我们将获得数据重复 - 服务将再次收到相同的消息。

这个问题有规律吗?

谢谢!

【问题讨论】:

  • 看看 Spring 对 RabbitMQ (spring-amqp) 的支持,因为它将 Rabbit 的事务与您的数据库事务集成。

标签: database transactions rabbitmq


【解决方案1】:

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

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

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

HTH

亚历克斯

【讨论】:

    猜你喜欢
    • 2015-04-12
    • 1970-01-01
    • 2013-01-29
    • 2012-06-28
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    相关资源
    最近更新 更多