KAFKA 1.0 文档(五):生产者配置

本文档详细介绍了Kafka 1.0版本中Java生产者的配置变化,特别指出从0.11.0.0起,block.on.buffer.full、metadata.fetch.timeout.ms和timeout.ms三个配置项已被移除。
摘要由CSDN通过智能技术生成

从0.11.0.0开始生产者配置block.on.buffer.full,metadata.fetch.timeout.ms和timeout.ms已被删除。
以下是Java生产者的配置:

name description default import
bootstrap.servers 用于建立与kafka集群连接的host/port组。
数据将会在所有servers上均衡加载,不管哪些server是指定用于bootstrapping。
这个列表仅仅影响初始化的hosts(用于发现全部的servers)
这个列表格式:host1:port1,host2:port2,…
key.serializer 关键字的序列化类。如果没给与这项,默认情况是和消息一致
value.serializer 值的序列化类
acks 此配置是表明当一次发送消息请求被认为完成时的确认值,就是指procuder需要多少个broker返回的确认信号。此配置实际上代表了数据备份的可用性。以下设置为常用选项:
(1)acks=0: 设置为0表示producer不需要等待任何确认收到的信息。副本将立即加到socket buffer并认为已经发送。没有任何保障可以保证此种情况下server已经成功接收数据,同时重试配置不会发生作用(因为客户端不知道是否失败)回馈的offset会总是设置为-1;
(2)acks=1: 这意味着至少要等待leader已经成功将数据写入本地log,但是并没有等待所有follower是否成功写入。这种情况下,如果follower没有成功备份数据,而此时leader又挂掉,则消息会丢失。
(3)acks=all: 这意味着leader需要等待所有备份都成功写入日志,这种策略会保证只要有一个备份存活就不会丢失数据。这是最强的保证。
(4)其他的设置,例如acks=2也是可以的,这将需要给定的acks数量,但是这种策略一般很少用。
1
buffer.memory 生产者可用于缓冲等待发送到服务器的记录的总字节数。 如果记录的发送速度比发送到服务器的速度快,那么生产者将会阻塞max.block.ms,之后它将抛出一个异常。
这项设置将和producer能够使用的总内存相关,但并不是一个硬性的限制,因为不是producer使用的所有内存都是用于缓存。一些额外的内存会用于压缩(如果引入压缩机制),同样还有一些用于维护请求。
33554432
compression.type producer用于压缩数据的压缩类型。默认是无压缩。正确的选项值是none、gzip、snappy和lz4。压缩最好用于批量处理,批量处理消息越多,压缩性能越好。推荐配置一种适合的压缩算法,可以大幅度的减缓网络压力和Broker的存储压力。 string none high
retries 如果设置de值大于0,客户端将重新发送之前发送失败的数据。注意,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值