【问题标题】:Send to multiple RabbitMQ hosts with MassTransit使用 MassTransit 发送到多个 RabbitMQ 主机
【发布时间】:2020-04-21 15:35:11
【问题描述】:

我在带有 RabbitMQ 的 .NET 应用程序中使用 MassTransit。它可以正常工作,我已经在 ioc 中配置和注册了 MassTransit 总线控制,现在我可以将消息发送到我的 RabbitMQ 实例并使用它们。

现在我需要有可能将消息发送到 RabbitMQ 的另一个实例。我该怎么做呢?我不需要消费来自其他 RabbitMQ 的消息,我只需要发送一些东西。

我尝试注入 ISendEndpointProvider 并将 GetSendEndpoint 与我的其他 RabbitMQ 实例的 URI 一起使用,但这似乎不起作用。我没有任何错误,但是当我尝试以这种方式发送它们时,我的其他 RabbitMQ 没有收到任何消息。 MassTransit 文档没有说明连接到多个主机。

感谢所有建议。

【问题讨论】:

    标签: c# .net rabbitmq masstransit


    【解决方案1】:

    更新:从 v7 开始,MassTransit 包括对 multiple bus instances 的支持。

    【讨论】:

    • 谢谢。如果我为我的其他兔子创建新的总线控制,启动它并放入一些将在 ioc 容器中注册的单例对象,我会遇到一些问题吗?我需要经常用那辆公共汽车发送东西,所以我不确定每次启动/停止是否有效。另一方面,如果我使用已启动的总线控制注册我的单身人士,那么我可能会错过一些 MassTransit 连接管理功能,对吗?
    • 您可以在容器中注册一些其他类型的对象,并让它持有对 IBusControl 的引用,确保它是一次性的,并且它可以为您启动总线。处理完容器后,您可以在处理时停止公共汽车。最好让它保持连接并在容器中,它不能与 IBusControl 的接口类型相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-24
    • 1970-01-01
    相关资源
    最近更新 更多