kafka生产者参数

bootstrap.servers

kafka集群 broker 地址

key.serializer

key 对应序列化类

value.serializer

value 序列化类

acks

指定分区中有多少副本收到这个消息之后生产者才任务消息成功写入。

  1. acks=1
    默认值 1,生产者发送消息之后,只要分区 leader 副本成功写入就认为成功。
    存在问题:如果 leader 副本写入成功就认为成功,在这个过程中 leader 崩溃,而没有来得及同步给 follower副本,重新选举之后,消息就会丢失。
  2. acks=0
    生产者发送消息之后就不需要等待任何服务端的响应。
  3. acks=-1或者 acks=all
    生产者发送消息之后,等待 isr中所有副本都成功写入消息之后收到服务端响应,客户端才认为写入成功。
    如果 isr 中只有 leader 副本,那就退化成 acks=1.

三者相比,acks=0可以达到最大吞吐量,acks=-1可以达到最大可靠性,acks=1是消息可靠性和吞吐量的一种折中方案。

max.request.size

限制生产者客户端发送消息的最大值
默认值 1MB

retries

生产者重试次数。默认 0

retry.backoff.ms

设置时间重试间隔。默认值 100

compression.type

指定压缩方式。
默认 none,无压缩。可配置 gzip、snappy、lz4。

消息压缩可以减少网络传输量、降低网络 io,从而提高整体性能。

消息压缩以时间换空间的优化方式吗,对时延有一定要求,不推荐开启压缩。

connections.max.idle.ms

关闭闲置链接时间间隔,默认 9 分钟

linger.ms

生产者发送 ProducerBactch之前等待消息时间。
默认值0。

receive.buffer.bytes

scoket接受消息缓存区大小,默认 32KB

send.buffer.bytes

socket发送消息缓存区的大小。默认值 128KB

request.timeout.ms

生产者请求响应最长时间。默认 3000ms.

请求超时之后可以选择重试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值