日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

kafka maven没有下载_Kafka 系列(三)——Kafka 生产者详解

發布時間:2025/3/11 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kafka maven没有下载_Kafka 系列(三)——Kafka 生产者详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先介紹一下 Kafka 生產者發送消息的過程:

  • Kafka 會將發送消息包裝為 ProducerRecord 對象, ProducerRecord 對象包含了目標主題和要發送的內容,同時還可以指定鍵和分區。在發送 ProducerRecord 對象前,生產者會先把鍵和值對象序列化成字節數組,這樣它們才能夠在網絡上傳輸。
  • 接下來,數據被傳給分區器。如果之前已經在 ProducerRecord 對象里指定了分區,那么分區器就不會再做任何事情。如果沒有指定分區 ,那么分區器會根據 ProducerRecord 對象的鍵來選擇一個分區,緊接著,這條記錄被添加到一個記錄批次里,這個批次里的所有消息會被發送到相同的主題和分區上。有一個獨立的線程負責把這些記錄批次發送到相應的 broker 上。
  • 服務器在收到這些消息時會返回一個響應。如果消息成功寫入 Kafka,就返回一個 RecordMetaData 對象,它包含了主題和分區信息,以及記錄在分區里的偏移量。如果寫入失敗,則會返回一個錯誤。生產者在收到錯誤之后會嘗試重新發送消息,如果達到指定的重試次數后還沒有成功,則直接拋出異常,不再重試。

二、創建生產者

2.1 項目依賴

本項目采用 Maven 構建,想要調用 Kafka 生產者 API,需要導入 kafka-clients 依賴,如下:

org.apache.kafka kafka-clients 2.2.0復制代碼

2.2 創建生產者

創建 Kafka 生產者時,以下三個屬性是必須指定的:

  • bootstrap.servers :指定 broker 的地址清單,清單里不需要包含所有的 broker 地址,生產者會從給定的 broker 里查找 broker 的信息。不過建議至少要提供兩個 broker 的信息作為容錯;
  • key.serializer :指定鍵的序列化器;
  • value.serializer :指定值的序列化器。

創建的示例代碼如下:

public class SimpleProducer { public static void main(String[] args) { String topicName = "Hello-Kafka"; Properties props = new Properties(); props.put("bootstrap.servers 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的kafka maven没有下载_Kafka 系列(三)——Kafka 生产者详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。