rocketmq-MQClientInstance-单进程多生产者组多消费者组的实例模型

多生产者组多消费者组的思考

思考下。当一个client,订阅多个consumergroup、多个productgroup时。此时进程的线程模型是如何的?
之前文章有分析到。消费者组,是有多个线程去共同协作的。
假设订阅2个consumergroup, 线程数量是2倍增加吗?订阅多个,那线程增长就恐怖了。
事实上,rocketmq的client端,默认就是倍数增长的。如果没去关注,那么可能就出现程序响应迟钝了。

MQClientInstance的createOrGet

在这里插入图片描述
查看上图,关键点,在于rocketmq.client.name的配置。默认是DEFAULT,会导致倍数增长。修改后,所有group会共用同一个MQClientInstance。
关键代码在
org.apache.rocketmq.client.ClientConfig#changeInstanceNameToPID
org.apache.rocketmq.client.impl.MQClientManager#getOrCreateMQClientInstance(org.apache.rocketmq.client.ClientConfig, org.apache.rocketmq.remoting.RPCHook)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值