带rabbitmq的特使代理

带rabbitmq的特使代理,rabbitmq,microservices,envoyproxy,Rabbitmq,Microservices,Envoyproxy,我们一直在迁移到.net核心控制台应用程序微服务。目前,每个微服务在一个链中工作,并将消息放入rabbitmq,然后下一个服务从rabbitmq中选取一条消息,对其进行处理,然后放入另一个rabbitmq……我们大约有9个服务 我们看到的问题是服务失败并且不知道原因,但经常会看到rabbitmq连接问题或网络问题影响到下一台服务器(一些vm将所有服务托管在同一台机器上,另一些在机器之间分布) 我一直在关注特使代理,因为它处理断路器等东西,并声称具有可观察性 然而,我在网上找不到任何地方有人使用r

我们一直在迁移到.net核心控制台应用程序微服务。目前,每个微服务在一个链中工作,并将消息放入rabbitmq,然后下一个服务从rabbitmq中选取一条消息,对其进行处理,然后放入另一个rabbitmq……我们大约有9个服务

我们看到的问题是服务失败并且不知道原因,但经常会看到rabbitmq连接问题或网络问题影响到下一台服务器(一些vm将所有服务托管在同一台机器上,另一些在机器之间分布) 我一直在关注特使代理,因为它处理断路器等东西,并声称具有可观察性

然而,我在网上找不到任何地方有人使用rabbitmq的特使代理

特使代理能否以这种方式与rabbitmq一起使用? 还是特使代理充当队列


目前,我们每秒处理约4000条消息,需要尽可能实时地处理。

特使不充当队列,因此它无法取代基于消息的通信系统。但是,它可以代理进出RabbitMQ服务器的流量,为您提供一些您需要的信息

您要做的是使用该功能设置RabbitMQ的TCP反向代理。然后,您的服务器都应该连接到特使代理,而不是直接连接到消息队列。然后,特使的内置统计数据将输出其处理的TCP连接(所有RabbitMQ协议似乎都是TCP)的指标。它本身也支持断路器、超时、重试等功能,因此您将获得所有这些功能。但是,您肯定需要根据您的特定部署对其进行调整


我们已经在我的公司多次采用这种模式,只是卡夫卡而不是拉比。但是,由于它们都是基于TCP的,因此其工作原理应该类似。

特使不充当队列,因此它无法取代基于消息的通信系统。但是,它可以代理进出RabbitMQ服务器的流量,为您提供一些您需要的信息

您要做的是使用该功能设置RabbitMQ的TCP反向代理。然后,您的服务器都应该连接到特使代理,而不是直接连接到消息队列。然后,特使的内置统计数据将输出其处理的TCP连接(所有RabbitMQ协议似乎都是TCP)的指标。它本身也支持断路器、超时、重试等功能,因此您将获得所有这些功能。但是,您肯定需要根据您的特定部署对其进行调整

我们已经在我的公司多次采用这种模式,只是卡夫卡而不是拉比。然而,由于它们都是基于TCP的,所以应该可以类似地工作