java kafka producer_详解Kafka生产者Producer配置

本文详细介绍了Kafka的配置参数,包括基本配置如broker列表、生产者类型、消息压缩格式和序列化类,以及异步生产者和Java客户端消费者的配置选项,如队列缓存、确认策略和压缩类型。这些设置对于优化Kafka性能和确保数据可靠性至关重要。
部署运行你感兴趣的模型镜像

基本配置

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。

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值