1. 程式人生 > >rockermq & kafka 消費限制

rockermq & kafka 消費限制

分享 www 線程 htm ref 過多 nag 參數說明 name

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

rockermq & kafka 消費限制