kafka生產(chǎn)者客戶端

生產(chǎn)者代碼:

(1)?send()方法是異步的,添加消息到緩沖區(qū)等待發(fā)送,并立即返回。生產(chǎn)者將單個(gè)的消息批量在一起發(fā)送來(lái)提高效率。

(2)ack是判別請(qǐng)求是否為完整的條件(就是是判斷是不是成功發(fā)送了)。我們指定了“all”將會(huì)阻塞消息,這種設(shè)置性能最低,但是是最可靠的

(3)retries,如果請(qǐng)求失敗,生產(chǎn)者會(huì)自動(dòng)重試,我們指定是0次,如果啟用重試,則會(huì)有重復(fù)消息的可能性

(4)producer(生產(chǎn)者)緩存每個(gè)分區(qū)未發(fā)送消息。緩存的大小是通過(guò)batch.size配置指定的。值較大的話將會(huì)產(chǎn)生更大的批。并需要更多的內(nèi)存(因?yàn)槊總€(gè)“活躍”的分區(qū)都有1個(gè)緩沖區(qū))

(5)buffer.memory控制生產(chǎn)者可用的緩存總量,如果消息發(fā)送速度比其傳輸?shù)椒?wù)器的快,將會(huì)耗盡這個(gè)緩存空間。當(dāng)緩存空間耗盡,其他發(fā)送調(diào)用將被阻塞,阻塞時(shí)間的閾值通過(guò)max.block.ms設(shè)定,之后它將拋出一個(gè)TimeoutException

(6)key.serializer和value.serializer示例,將用戶提供的key和value對(duì)象ProducerRecord轉(zhuǎn)換成字節(jié),你可以使用附帶的ByteArraySerializaerStringSerializer處理簡(jiǎn)單的string或byte類型。




最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,699評(píng)論 19 139
  • kafka的定義:是一個(gè)分布式消息系統(tǒng),由LinkedIn使用Scala編寫,用作LinkedIn的活動(dòng)流(Act...
    時(shí)待吾閱讀 5,543評(píng)論 1 15
  • Kafka入門經(jīng)典教程-Kafka-about云開發(fā) http://www.aboutyun.com/threa...
    葡萄喃喃囈語(yǔ)閱讀 10,988評(píng)論 4 54
  • 姓名:周小蓬 16019110037 轉(zhuǎn)載自:http://blog.csdn.net/YChenFeng/art...
    aeytifiw閱讀 34,916評(píng)論 13 425
  • 1字開頭永不變,移動(dòng)聯(lián)通分號(hào)段。0到9互相改變,位置換重疊出現(xiàn)。一個(gè)號(hào)段上千萬(wàn),十位成員是模范。輪流使用輪流換,崗...
    高廣忠閱讀 407評(píng)論 0 0

友情鏈接更多精彩內(nèi)容