我在我的本地机器上运行apache-pulsar单机版,作为队列系统的docker容器,并将1000个作业推送到一个主题(假设是“demo”)。
如果我有1个消费者在听“演示”主题,处理作业并确认(在100ms -500ms内)。所有的工作在大约80秒内完成。
但如果我用更多的消费者(2或4个消费者)做同样的1000个作业测试,总吞吐量保持不变,大约80秒。
我不确定我是否遗漏了一些所需的配置,或者是否需要多个pulsar brokers,或者我应该如何做,以便如果我增加消费者,消费吞吐量也应该增加(例如在2个消费者的情况下大约40-45秒)。
Docker图像: apachepulsar/pulsar
消费选项:"subscriptionType":"Shared","receiverQueueSize":100,"ackTimeoutMillis":1200000
谢谢!
发布于 2021-10-04 18:14:08
你确定你真的在运行多个消费者吗?它们是否在多个容器中?VMs?服务器?每个人接收了多少?
他们使用的是异步还是同步?
https://pulsar.apache.org/docs/en/concepts-messaging/
什么版本的NodeJS?客户端的版本是什么?哪个版本的脉冲星?
https://pulsar.apache.org/docs/en/client-libraries-node/#consumers
尝试将队列大小增加到1000
要在一个位置访问所有Pulsar人员,请注册参加峰会。
发布于 2020-04-17 07:29:45
只要消费者没有限制,就可以有多个消费者。消费者可以从生产者那里获得所需的证书文件,并且消费者可以命名订阅名称。并且可以检查哪些消费者是实际连接的。
https://stackoverflow.com/questions/59389605
复制相似问题