node.js - Apache-Pulsar 吞吐量
问题描述
我在本地机器上独立运行 apache-pulsar 作为 docker 容器,用于排队系统并将 1000 个作业推送到一个主题(比如说“演示”)。
如果我有 1 个消费者正在收听“演示”主题并处理工作并确认(在 100 毫秒 - 500 毫秒内)。所有工作在大约 80 秒内完成。
但是,如果我对更多消费者(2 或 4 个消费者)进行相同的 1000 个作业测试,则总体吞吐量保持不变,大约为 80 秒。
我不确定我是否缺少一些需要的配置或是否需要多个脉冲星代理,或者我应该怎么做,如果我增加消费者,消费吞吐量也应该增加(如果有 2 个消费者,大约需要 40-45 秒)。
Docker 镜像:apachepulsar/pulsar
消费者选项:“subscriptionType”:“Shared”,“receiverQueueSize”:100,“ackTimeoutMillis”:1200000
谢谢!
解决方案
您确定您实际上正在运行多个消费者吗?它们在多个容器中吗?虚拟机?服务器?每人收到多少?
他们是在使用异步还是同步?
https://pulsar.apache.org/docs/en/concepts-messaging/
什么版本的 NodeJS?什么版本的客户端?什么版本的脉冲星?
https://pulsar.apache.org/docs/en/client-libraries-node/#consumers
尝试将队列大小增加到 1000
要在一个地点接触所有 Pulsar 人,请注册参加峰会。
推荐阅读
- date - 使用 Spark Dataframe API 格式化时间戳值
- visual-studio-code - Visual Studio Code 和 Visual Studio Code Insider 有什么区别?
- docker - 如何取消在 SSH 会话中运行的 docker 容器
- css - 将1000px的图片放在100px的手机网页会不会很浪费,在设备像素比为2的手机中
- objective-c - AVPlayerViewController - 如何始终显示播放控件
- java - 无法解析符号“x”
- ios - 未为 UIColor 定义哈希 UIPlaceholderColor 需要先转换颜色空间
- mongodb - SignalR Core - 错误:Websocket 关闭,状态码:1006
- r - 在R中反复洗牌
- python - 由于线程问题,Ctrl-C 不会杀死我的 python 代码