Kafka producer如何使用?針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
一、producer工作流程
producer使用用戶啟動producer的線程,將待發(fā)送的消息封裝到一個(gè)ProducerRecord類實(shí)例,然后將其序列化之后發(fā)送給partitioner,再由后者確定目標(biāo)分區(qū)后一同發(fā)送到位于producer程序中的一塊內(nèi)存緩沖區(qū)中。而producer的另外一個(gè)線程(Sender線程)則負(fù)責(zé)實(shí)時(shí)從該緩沖區(qū)中提取出準(zhǔn)備就緒的消息封裝進(jìn)一個(gè)批次(batch),統(tǒng)一發(fā)送給對應(yīng)的broker,具體流程如下圖:
二、producer示例程序開發(fā)
首先引入kafka相關(guān)依賴,在pom.xml文件中加入如下依賴:
org.apache.kafka kafka_2.12 2.2.0