rabbitmq 监听一个空的rmq队列是否是网络密集型的?

lxkprmvk  于 2023-04-11  发布在  RabbitMQ
关注(0)|答案(2)|浏览(128)

在微服务系统中,我有两个服务:service 1有一条数据,service 2需要不时更新这条数据,为了获取状态,service 2通过HTTP调用service 1。

  • service 2---(获取数据调用)---〉service 1 *

由于service 1每隔几个小时会更改一次数据状态,因此我想,为了减轻网络负载,我可以通过从service 1发送到service 2的RabbitMQ消息来取代通过HTTP调用进行的持续轮询,并且service 2可以缓存该消息,直到收到下一条消息。

  • service 1---(rmq消息发送)---〉service 2 *

考虑到HTTP请求目前每10秒发出一次,并且数据每几个小时更新一次,从网络的Angular 来看,支持新设计是否更容易?换句话说,侦听空RMQ队列的网络密集程度如何?是否比每10秒发送一次HTTP GET调用的密集程度低?

uelo1irk

uelo1irk1#

侦听一个空的RMQ队列的网络密集程度如何?它是否比每10秒发送一次HTTP GET调用的密集程度低?
是的,它不那么“密集”。我想你说的“密集”是指消耗的带宽。
RabbitMQ消费者仍然会偶尔发送心跳消息。
老实说,最大的改进将是从轮询架构转向基于推送的架构。

**注意:**Team RabbitMQ监控rabbitmq-users邮件列表,仅在StackOverflow上偶尔回答问题。

hsvhsicv

hsvhsicv2#

监听一个空的RabbitMQ队列并不是网络密集型的。消息由RabbitMQ推送到队列的订阅者,因此只有当队列上出现新消息时才会发生通信。

相关问题