• Kafka生产者-重要参数


    1.acks

    决定分区中有多少副本收到这条消息,生产者才会认为这条消息成功写入

    有三种类型的值(String):

    • acks=1,默认值,只要leader写入成功即返回成功响应(折中方案)
    • acks=0,不需要等待服务端响应,可以达到最大吞吐量(其他配置相同条件下)
    • acks=-1或all,等待ISR中所有副本成功写入消息才能返回成功响应,可靠性最高

    2.max.request.size

    单条消息的最大值,默认值为1048576B,即1MB,会涉及到其他参数

    3.retries和retry.backoff.ms

    retries配置生产者重试次数,默认值为0

    retry.backoff.ms默认值为100,设定两次重试之间的时间间隔,避免无效的频繁重试

    4.compression.type

    指定消息压缩方式,默认值为"none",还可以配置"gzip"、"snappy"和"lz4",使用时间换空间的方式,如果对时延有一定要求,不推荐对消息进行压缩

    5.connections.max.idel.ms

    空连接超时限制

    6.linger.ms

    指定生产者发送ProducerBatch之前等待ProducerRecord加入ProducerBatch的时间,默认为0,增大该参数会增加消息延迟,但是能提升一定的吞吐量

    7.receive.buffer.bytes

    设置socket接收消息缓冲区的大小,默认值为32768B,即32KB,如果设置为-1,使用操作系统的默认值

    8.send.buffer.bytes

    设置socket发送消息缓冲区的大小,默认值为131072B,即128KB,如果设置为-1,使用操作系统的默认值

    9.request.timeout.ms

    设置Producer等待请求响应的最长时间,默认值为30000(ms)

    该参数需要比broker端参数replica.lag.time.max.ms的值大,可以减少因客户端重试而引起的消息重复的概率

  • 相关阅读:
    JDBC(三)、基础代码及优化
    JDBC(二)、注册驱动三种实现原理
    JDBC(一)、数据库存取的三种
    Java学习笔记(四) 运算符
    Java学习笔记(三) 基础语法
    Java学习笔记(二) 第一个程序
    Java学习笔记(一) Java 概述
    JqGrid自定义获取编辑中单元格的值
    移动前端开发之viewport的深入理解
    CSS学习笔记--提示工具(Tooltip)
  • 原文地址:https://www.cnblogs.com/jordan95225/p/13387990.html
Copyright © 2020-2023  润新知