我们计划将RabbitMq用于我们的消息传递服务,我们将所有消息请求发布到RabbitMq持久队列。
对于.Net客户端,我们决定使用EasyNetQ,所以问题是我们应该如何在发布消息时处理RabbitMq服务器?
答案 0 :(得分:3)
一般情况下,如果您想确定发布,可以使用publish confirmation。
你可以阅读,你可以使用交易或使用ConfirmListener。
要处理代理失败,您可以在本地存储失败的消息,然后尝试在x秒后重新发送它们。
注意: 我不知道EasyNetQ是如何工作的,但本机发布是异步的,因此陷阱发布异常是不够的。这就是为什么你应该使用发布确认来处理它。