天天看點

Kafka Provider(生産者)(一)概覽

kafka作為一個分布式消息中間件,必然有優勢所在,下面簡單說一下kafka的生産者的一些内容,下面章節将告知如何建立生産者以及生産者的一些配置

kafka生産者的發送順序:

Kafka Provider(生産者)(一)概覽

1.從建立一個ProducerRecord對象開始,需要包含目标主題和要發送的内容,我們可以指定鍵和分區,才能發送ProducerRecord對象時,生産者要先把鍵和值對象序列化成位元組數組,這樣才能在網絡上傳輸

2.資料傳遞給分區器,,如果在producerRecord對象裡指定了分區,那麼分區器就不會再做任何事情,直接把指定的分區傳回。如果沒有指定分區,那麼分區器根據ProducerRecord對象的鍵來選擇一個分區。選擇後,生産者就知道該往哪個主題和分區發送這條記錄了,這條記錄被添加到一個記錄批次裡,這個批次裡的所有消息會被發送到相同的主題和分區上。有一個獨立的線程負責把這些記錄批量發送到相應的broker上面。

3.伺服器在收到這些消息時會傳回一個響應。如果消息成功寫入kafka,句傳回一個recordMetaData對象,它包含了主題和分區資訊,以及記錄在分區裡的偏移量。如果寫入失敗,則傳回一個錯誤。生産者在收到錯誤之後會嘗試重新發送消息,幾次之後如果還是失敗,就傳回錯誤消息。