首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用AMQP/Node每秒处理>100条消息

如何使用AMQP/Node每秒处理>100条消息
EN

Stack Overflow用户
提问于 2017-11-02 17:14:29
回答 1查看 5.9K关注 0票数 1

我们目前正在创建一个微服务(Nodev8.3.0),它必须每秒消耗大约60-150条RabbitMQ消息(RabbitMQ 3.6.12,Erlang19.2.1)。有时候,它就像一种魅力,队列中没有剩下的消息。但是,大多数情况下,只有5-20条消息每秒被处理并累积到队列中的3M条消息。

现在我们真的很好奇如何用一个用户来处理所有这些消息。因为已经有一些Java使用者不延迟地处理所有这些消息。我们使用基于这个节点库amqplib。此外,处理程序立即确认传入的消息-业务逻辑绝对是异步的。因此,即使没有任何业务逻辑,它也会陷入困境。交换的类型是topic,它不是durable,队列启用了auto-deleting功能。我们尝试了禁用的预取、预取= 1100,但没有成功。

所以..。

1)用于节点的AMQP/RabbitMQ库是什么?

2)每秒处理多少条消息?

3)是否有进一步的改进/建议?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-03 17:14:43

RabbitMQ团队监视这个邮寄名单,有时只回答堆栈溢出的问题。

您拥有一个正确工作的Java使用者,这一事实表明amqplib-easyamqplib或您的代码都是罪魁祸首。另外,请注意,在RabbitMQ中使用单个队列是一种反模式,因为队列是代理中的并发单元。

我已经组装了一个试验项目,其中包括一个README,用于使用RabbitMQ PerfTest应用程序(Java)运行节点使用者。您应该熟悉PerfTest,因为它为评估环境的性能功能提供了许多特性。

在我的测试环境中,我可以轻松地维持4096msg/秒的发布速率。如果我增加到8192,我可以看到消息返回,因为Node应用程序消费速度不够快。比较使用“普通”amqplib也会很有趣。

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

https://stackoverflow.com/questions/47081053

复制
相关文章

相似问题

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