【问题标题】:RabbitMQ is sending the request again if response is null如果响应为空,RabbitMQ 将再次发送请求
【发布时间】:2017-12-15 13:46:55
【问题描述】:

我正在使用带有 masstransit 的 RabbitMq 在不同服务之间进行消息传递,假设我们有以下场景:

第一个服务通过发送请求从第二个服务询问具体信息。

第二个服务在数据库中查找信息并以包含找到的信息的对象进行响应。

如果数据库中没有可用的信息,第二个服务会以空对象响应。

问题是 RabbitMQ 正在考虑请求失败,因此它会继续再次发送请求。

我可以将总线配置为将空响应视为正常响应吗?

【问题讨论】:

    标签: rabbitmq microservices masstransit


    【解决方案1】:

    您不能使用空对象回复。你有两个选择:

    1. 在您的响应中添加一个布尔属性,表明它不成功
    2. 在请求消费者中抛出异常,然后将错误消息发送到请求客户端。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-09
      • 2017-06-15
      • 1970-01-01
      • 1970-01-01
      • 2018-03-28
      • 2021-11-22
      • 1970-01-01
      • 2017-10-12
      相关资源
      最近更新 更多