Skip to content

为什么rocketMQ默认情况下没有将一个JVM内的所有的生产者和消费者都放置在同一个MQClientInstance下? #2

@fengyufuchen

Description

@fengyufuchen

问题描述:版本是4.3. 代码就是 创建一个Consumer一个Producer,两者都是使用了默认的属性,仅指定topic,group nameServer必要属性。 这个时候发现 consumer的clientId是 localIp@Pid@NameServerAddr ,而producer的clientId是localIp@Default@nameServerAddr。 由于clientId不同 rocketMQ内部会创建两个MQClientInstance

Q1: 为什么默认情况下 (也就是 创建consumer和Producer仅指定必要信息,其他属性信息都使用默认值)同一个JVM内的consumer和producer 没有共用同一个MQClientInstance? 毕竟每启动一个MQClientInstance,MQClientInstance会启动一些其他定时任务与nameServer进行同步数据。

Q2:某书中 提到 “ 在一个 JVM中的所有消费者、生产者持有同一个 MQClientlnstance, MQClientlnstance 只会启动一次。” 感觉这个描述好像不太对呀

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions