kafka的message和batches

Kafka 中最基本的數據單元是消息message,如果使用過數據庫,那麼可以把Kafka 
中的消息理解成數據庫裏的一條行或者一條記錄。消息是由字符數組組成
的,kafka 並不關係它內部是什麼,索引消息的具體格式與Kafka 無關。
消息可以有一個可選的key,這個key 也是個字符數組,與消息一樣,對於kafka 也
是透明的。key 用來確定消息寫入分區時,進入哪一個分區。最簡單的處理方式,
就是把key 作爲hash 串,擁有相同key 的消息,肯定會進入同一個分區。
爲了提高效率,Kafka 以批量的方式寫入。一個batch 就是一組消息的集合,
這一組的數據都會進入同一個topic 和partition(這個是根據producer 的配置來
定的)。每一個消息都進行一次網絡傳輸會很消耗性能,因此把消息收集到一起,
再同時處理就高效的多了。當然,這樣會引入更高的延遲以及吞吐量:
batch 越大,同一時間處理的消息就越多。batch 通常都會進行壓縮,
這樣在傳輸以及存儲的時候效率都更高一些。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章