1、fire-and-forget
這種方式是不管傳送成功與否,客戶端都會返回成功。儘管大多數的時候kafka 在傳送失敗後,會自己重新自動再一次傳送訊息,但是也會存在丟失訊息的風險
producerrecordrecord = new producerrecord(topic, "msg-fire-forget","welcome to my home!!! ");
try
catch
(exception e)
finally
2、synchronous send---同步
這種方式是同步傳送的方式,會等待future 物件的返回來判斷是否傳送成功。
producerrecordrecord = new producerrecord(topic, "msg-sync","sync message");
try
catch
(exception e)
finally
3、asynchronous send---非同步**
非同步傳送基於實現了send() 方法的**函式
producerrecordrecord = new producerrecord(topic, "msg-async","sync message");
try});
system.out.println("stop sending....");
} catch
(exception e)
finally
參考:
kafka生產者例項配置引數
kafkaproducer中有三個引數是必填的 bootstrap.servers 指定生產者客戶端連線kafka集群所需的broker位址列表,格式為host1 port1,host2 port2,可以設定乙個或多個。這裡並非需要所有的broker位址,因為生產者會從給定的broker裡尋找其它的...
Kafka中生產者的配置詳情
引數 預設值描述 producer.type sync 指定訊息傳送是同步還是非同步。非同步asyc成批傳送用kafka.producer.ayncproducer,同步sync用kafka.producer.syncproducer metadata.broker.list boker list ...
Kafka之生產者
1 方便在集群中擴充套件,乙個topic可以有多個partition組成,而每個partition可以通過調整以適應它所在的機器 2 可以提高併發,因為可以以partition為單位讀寫 我們需要將生產者傳送的資料封裝成乙個producerrecord物件。1 指明partition的情況下,直接將...