欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

kafka生產幾種方式

江奕云2年前16瀏覽0評論

kafka生產幾種方式?

Kafka生產消息幾種方式

一、發送并忘記

把消息發送給服務器,但并不關心它是否正常到達。大多數情況下,消息會正常到達,因為 Kafka 是高可用的,而且生產者會自動嘗試重發。不過,使用這種方式有時候也會丟失一些消息。

二、同步發送

使用 send() 方法發送消息,它會返回一個 Future 對象,調用 get() 方法進行等待(會返回元數據或者拋出異常),就可以知道消息是否發送成功。

三、異步發送

大多數時候,我們并不需要等待響應——盡管 Kafka會把目標主題、分區信息和消息的偏移量發送回來,但對于發送端的應用程序來說不是必需的。不過在遇到消息發送失敗時,我們需要拋出異常、記錄錯誤日志等,這樣的情況下可以使用異步發送消息的方式,調用 send() 方法,并指定一個回調函數,服務器在返回響應時調用該函數。

四、多線程方式 (由此想到java線程池的幾種方式)

在數據量比較大同時對發送消息的順序沒有嚴格要求時,可以使用多線程的方式發送數據,實現多線程生產者有兩種方式:1. 實例化一個 KafkaProducer 對象運行多個線程共享該對象發送消息;2. 實例化多個 KafkaProducer 對象。由于 Kafka Producer 是線程安全的,所以多個線程共享一個 Kafka Producer 對象在性能上要好很多。

五、Kafka Producer 常用配置(kafka-1.1.0)

java 項目共享線程池,kafka生產幾種方式