rockermq & kafka 消费限制
kafka
topic下的一个分区只能被同一个consumer group下的一个consumer线程来消费,但反之并不成立,即一个consumer线程可以消费多个分区的数据,比如Kafka提供的ConsoleConsumer,默认就只是一个线程来消费所有分区的数据。所以即分区数决定了同组消费者个数的上限
rockermq
rocketmq的topic中有队列(queue)的概念,也就是说一个节点上面可以有多个队列,这样能非常大的提高并发性,而kafka最多只能是一个分区一个进程消费,这样并发性限制非常大,并且单机分区数量不能过多,超过64个分区就出现明显的不稳定,但是rocketmq单机支持上万队列,所以并发性能非常好;
创建命令
sh /root/rocketmq/bin/mqadmin updateTopic -c whk -n "ip" -t offer -r 1 -w 1 -o true
参数说明
创建topic需要指定的参数, -b 指定broker上创建topic -c 指定cluster创建topic -n 指定namesrv地址,cluster模式下必须从namesrv获取broker地址 -t topic的名字标志 -r/w 读写队列的个数,建议相等 -p queue的读写权限 -o 待研究不确定是不是保证全局有序消息的配置
rocketmq 注意点
https://blog.csdn.net/zhaozhenzuo/article/details/76791495
参考
https://blog.csdn.net/chunlongyu/article/details/54018010
https://www.cnblogs.com/freeweb/p/7817968.html