database - RabbitMQ 和数据库事务

标签 database transactions rabbitmq

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

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

这个问题有规律吗?

谢谢!

最佳答案

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

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

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

HTH

亚历克西斯

关于database - RabbitMQ 和数据库事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2362560/

相关文章:

复制数据库后 SQL Server 变慢

sql - 仅提交在 TRANSACTION 中可能回滚的特定更改

NHibernate ISession.Save() - 为什么这会立即持久化我的实体?

java - Apache camel,RabbitMQ 如何发送消息/对象

java - JPA OneToMany 急切获取不起作用

java - 如何通过在 java-sql 应用程序中输入所有列数据来过滤搜索?

sql-server - SQL Azure 和 Azure 表存储之间的事务

java - Camel RabbitMQ 默认 ConnectionFactory?

java - RabbitMQ java 客户端停止消费消息

mysql - 如何按 ID 对数据库重新排序?