【轉】 詳解Kafka生產者Producer配置


粘貼一下這個配置,與我自己的程序做對比,看看能不能完善我的異步帶代碼;
 
-----------------------------------------
 
 詳解Kafka生產者Producer配置
2016-04-26 14:57:50
標簽: 消息隊列  Kafka  Producer
原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章  原始出處 、作者信息和本聲明。否則將追究法律責任。 http://favccxx.blog.51cto.com/2890523/1767882

基本配置

 

metadata.broker.list:broker服務器集群列表,格式為 host1:port1, host2:port2 ...

 

producer.type:消息發送類型同步還是異步,默認為同步

 

compression.codec:消息的壓縮格式,默認為none不壓縮,也可以為gzip, snappy, lz4

 

serializer.class:消息加密格式,默認為kafka.serializer.DefaultEncoder

 

compressed.topics:主題的壓縮格式,可以為'gzip', 'snappy', lz4

 

異步生產者配置

 

queue.buffering.max.ms:生產者異步緩存數據的最大時間,單位毫秒

 

queue.buffering.max.messages:生產者異步緩存消息的最大容量

 

queue.enqueue.timeout.ms:隊列超時事件。0,如果隊列滿了就放棄;-ve,如果隊列滿了就會永遠阻塞;+ve,如果隊列滿了會阻塞一段時間。

 

batch.num.messages:生產者可以批量處理的消息數

 

Java客戶端消費者常用配置

 

bootstrap.servers:broker服務器集群列表,格式為 host1:port1, host2:port2 

 

key.serializer:定義序列化的接口,建議為org.apache.kafka.common.serialization.StringSerializer

 

value.serializer:實現序列化接口的類,建議為org.apache.kafka.common.serialization.StringSerializer

 

acks:配置可以設定發送消息后是否需要Broker端返回確認

 

    0:不需要進行確認,速度最快。存在丟失數據的風險。

 

    1:僅需要Leader進行確認,不需要ISR進行確認。是一種效率和安全折中的方式。

 

    all:需要ISR中所有的Replica給予接收確認,速度最慢,安全性最高,但是由於ISR可能會縮小到僅包含一個Replica,所以設置參數為all並不能一定避免數據丟失。

 

buffer.memory:生產者的緩村容量,如果記錄發送的比傳輸到服務器的速度快,要么是生產者阻塞,要么是配置的block.on.buffer.full緩存區滿了。默認大小為32M

 

compression.type:生產者生成的所有數據壓縮格式,默認不壓縮,還可以為gzip, snappy, or lz4

 

linger.ms:Producer默認會把兩次發送時間間隔內收集到的所有Requests進行一次聚合然后再發送,以此提高吞吐量,而linger.ms則更進一步,這個參數為每次發送增加一些delay,以此來聚合更多的Message。

 

 

 

本文出自 “這個人的IT世界” 博客,請務必保留此出處http://favccxx.blog.51cto.com/2890523/1767882


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM