天天看點

3.4 Kafka Producer API之發送原理

1.發送原理

producer發送原理主要分為兩步,第一步是建構producer對象,第二步是發送消息,詳細步驟如下圖所示。

3.4 Kafka Producer API之發送原理

(1).首先要構造一個ProducerRecord對象,該對象可以聲明主題(topic)、分區(partition)、鍵(key)以及值(value),主題和值是必須要聲明的,分區和鍵可以不用指定。

(2).調用send()方法進行消息發送。

(3).因為消息要到網絡上進行傳輸,是以必須進行序列化,序列化器的作用就是把消息的key和value對象序列化成位元組數組。

(4).接下來資料傳到分區器,如果之前的ProducerRecord對象指定了分區,那麼分區器将不再做任何事,直接把指定的分區傳回。如果沒有,那麼分區器會根據key來選擇一個分區,選擇好分區之後,生産者就知道該往哪個主題和分區發送消息了。