選擇分區的原則:
1.主題需要多大的吞吐量,是希望每秒寫入100kb,還是1GB
2.從單個分區讀取數據的最大吞吐量,數據寫入數據庫的速度不會超過每秒50M,所以從一個分區讀數據的速度也不要超過50M
3.可以估算生產者向單個分區寫入數據的吞吐量,生產者的速度一般比消費者快,最高為生產者多估算一些量。
4.每個broker包含的分區個數,可用磁盤空間和網絡帶寬
5.若消息按照不同的鍵來寫入分區,那么為已有的主題新增分區就很困難
6.單個broker對分區個數是有限制,因為分區越多,占用的內存越多,完成首領的選舉需要更長的時間。
使用主題吞吐量除以消費者吞吐量算出分區個數。也就是每秒從主題上寫入和讀取1GB的數據,並且每個消費者每秒鍾可以處理50MB數據。那么至少需要20個分區,這樣20個消費者同時讀取這些分區,從而達到每秒1GB的數據。
如果不知道以上信息,最好把分區大小限制再25GB以內可以得到比較理想得效果。