在RocketMQ中,队列数直接影响到消费者实例数的上限,同一消费组消费者实例数的上限=队列数,需要集群消费的情况,需考虑队列数的设置。
在RocketMQ中,队列能分布到不同的Broker上,是RocketMQ分布式的基础。Queue分布在Broker中,则能使用Broker的资源,包括存储、IO等,一般情况下,分布在某个Broker上的Queue比例越大,则占用此Broker的资源越多,Topic中的Queue分布到的Broker数量越多,则性能越好、存储越大。若Broker的所在机器性能不同,可以通过调整Queue数量,达到资源调优的目的,在应用设计时,需要充分利用上述特性。
在Push消费模式中,API会默认为每个队列预拉取消息1000条,若队列数过大、或者单条消息包体过大,则需要考虑设置减少预拉数量,防止预拉消息过大导致内存溢出。