MassTransit加上RabbitMQ.Client,多个ConnectionFactory实例

时间:2020-08-24 14:31:36

标签: rabbitmq masstransit

我有一个.NET Core服务,它与2个单独的RabbitMQ服务器建立连接,其中一个由MassTransit管理,另一个由香草RabbitMQ.Client NuGet库管理,因为我无法控制消息结构,因此无法使用MassTransit。参见下图-这些服务器在不同的主机上运行,​​并且由于一个(而不是另一个)上的SSL而使用不同的端口。该服务可以正常运行一天左右,但是,尽管该服务仍然可以正常运行,但是所有通过RabbitMQ.Client绑定的使用者都断开了连接(RabbitMQ1在图中),RabbitMQ Web UI显示0个使用者已连接,因此消息才开始堆积。发生这种情况时,仍然连接MassTransit的使用者(图中的RabbitMQ2)。

在升级到MassTransit和RabbitMQ.Client NuGet的最新版本之前,我还在较旧的版本中看到了这一点。此体系结构从根本上有问题,还是由于某些原因无法在同一服务实例中运行多个ConnectionFactory实例?为什么连接断开? RabbitMQ.Client连接使用的是ConnectionFactory,其AutomaticRecoveryEnabled = true,并且RequestedHeartbeat为30秒。

enter image description here

0 个答案:

没有答案