【发布时间】:2019-10-30 03:15:24
【问题描述】:
我正在关注其中一个 RabbitMQ RPC 教程 (https://www.rabbitmq.com/tutorials/tutorial-six-dotnet.html),但对 Correlation ID 匹配感到有些困惑。
教程指出:
此时使用 CorrelationId 属性。我们将为每个请求将其设置为唯一值。稍后,当我们在回调队列中收到一条消息时,我们将查看此属性,并基于此将响应与请求进行匹配。如果我们看到未知的 CorrelationId 值,我们可以安全地丢弃该消息 - 它不属于我们的请求。
但是为什么在我们已经从队列中消费完消息之后丢弃它是“安全的”呢?期待该消息的客户呢?消息不应该重新排队以防丢失吗?
【问题讨论】: