有没有办法使用RabbitMQ以100%的交付保证传输数据?

问题描述 投票:3回答:1

我正在构建一个系统,我希望将RabbitMQ用作主要的消息传递机制。

我的系统需要非常强有力的信息传递保证,因为消息必须到达目的地并得到确认,否则我希望它们会被重新排队并重新发送。

用例是维护两个系统之间的最终一致性

我还想避免在我的应用程序中管理有关消息的任何状态。

我知道发布持久性消息并不能100%保证它是持久保存到磁盘的,因为不会为每条消息调用fsync(2)。

因此,我的问题是 - 我可以使用RabbitMQ作为100%可靠的*消息传递机制吗?

我已经阅读了有关事务的内容,但除了2011 blogpost之外找不到任何内容,它也没有明确说明每个消息都执行了fsync(2),或者如果没有成功则发生(同步)故障。

*可靠我的意思是最终应该传递消息。重复的消息是可以接受

rabbitmq eventual-consistency reliable-message-delivery
1个回答
1
投票

我可以使用RabbitMQ作为100%可靠的消息传递机制吗?

是的,使用持久性消息,发布者确认和消费者确认 - link

当您的发布者收到确认消息时,该消息已写入并同步到磁盘。


注意:RabbitMQ团队监控the rabbitmq-users mailing list,有时只回答StackOverflow上的问题。

© www.soinside.com 2019 - 2024. All rights reserved.