作者回复: 主题和队列是分散到所有Broker节点上的,每个Broker只保存自己负责的那部分主题和队列信息。并且实际上在集群中,元数据最终是以Broker上保存的信息为准的。
作者回复: 这个我在之前的课程中讲到过,首先需要先看一下是消费慢还是生产慢,如果是生产慢,一般需要扩容Producer的节点数量,如果是消费慢,需要扩容队列数和Consumer数量。
作者回复: 一是查一下每个分区入队速度是不是均匀,另外在消费者加一个消费监控(记录每次消费的时延)看一下消费速度是不是有问题。
作者回复: 是的,RocketMQ的NameServer数据是以Broker上的为准,并且是从Broker上同步过来的。
作者回复: 挂了也不影响集群正常使用,尽快修复就好了
作者回复: 实际上,RocketMQ的路由数据是以Broker为准的,所以不会存在数据不一致的情况。由于NameServer与Broker有心跳机制,在这种发生网络隔离情况下,每个NameServer上就只有它可以连通的那些Broker的路由数据了。这也符合实际情况。
作者回复: 理论上是可以的,但权衡工作量来说,最好还是换一个MQ吧。
作者回复: 这又是一个设计选择而已,NameServer只是负责存储一下元数据,数据量不大,处理请求的TPS也不高,所以没必要启动很多个NameServer,所以并不会存在你说的很多个NameServer的情况。