有没有一种方法可以使用RabbitMQ传输100%交付保证的数据?

w8biq8rn  于 12个月前  发布在  RabbitMQ
关注(0)|答案(1)|浏览(128)

我正在构建一个系统,我想使用RabbitMQ作为主要的消息传递机制。
我的系统需要非常强的消息传递保证,例如,消息 * 必须 * 到达目的地并得到确认,否则我希望它们被重新排队并重新传递。

  • 用例是维护两个系统之间的最终一致性 *
    我还希望避免管理应用程序中有关消息的任何状态。

我知道发布持久化消息并不能100%保证它被持久化到磁盘,因为并不是每个消息都调用fsync(2)。
因此,我的问题是-我可以使用RabbitMQ作为100%可靠的 * 消息传递机制吗?
我读过关于transactions的文章,但是除了2011 blogpost之外找不到任何东西,它也没有明确声明对每个消息执行fsync(2),或者如果不成功就会发生(同步)失败。

  • 我所说的可靠,是指信息最终总是要传递的。重复的消息是可以接受的。
uz75evzq

uz75evzq1#

我可以使用RabbitMQ作为100%可靠的消息传递机制吗?
是,使用持久消息、发布者确认和消费者确认-link
当您的发布者收到确认时,说明邮件已写入并同步到磁盘。

相关问题