首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Nodejs实现RabbitMQ客户端的生产设置

使用Nodejs实现RabbitMQ客户端的生产设置
EN

Stack Overflow用户
提问于 2020-02-03 14:51:05
回答 1查看 192关注 0票数 1

我一直在关注RabbitMQ教程,以便向NodeJS添加发布者和消费者。但互联网上的文档和一般教程缺乏提供正确的生产设置,以使用Nodejs集群设置的RabbitMQ客户端。

从RabbitMQ tutorial channel.consume()启动一个消费者。此使用者是否在Nodejs运行的同一线程中启动?如果我运行4个NodeJS子进程,这意味着它将创建4个消费者,对吗?

通过从环境变量获取worker计数来启动仅运行RabbitMQ worker的Nodejs应用程序的正确方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2020-07-14 18:36:05

来自RabbitMQ tutorial channel.consume()的

启动一个使用者。此使用者是否在Nodejs运行的同一线程中启动?

是的,消费者也受制于单线程规则,因此同步消费会阻塞整个应用程序。

如果我运行4个NodeJS子进程,这意味着它将创建4个消费者,对吗?是的,通过从环境变量获取worker计数来启动仅运行RabbitMQ worker的Nodejs应用程序的正确方法是什么?

我不确定这背后的逻辑是什么,但我强烈建议不要随意限制consumers的数量,恰恰相反。为了让你的队列保持空的,你通常会想要使用尽可能多的消耗能量,因为你可以

如果您仍然希望限制RabbitMQ使用者的数量,而不管有多少可用节点进程,则必须编写涉及和它的进程之间通信的业务逻辑,这不是一件微不足道的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60034368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档