在生产者向broker发送消息时,需要配置不同的参数来确保发送成功。

acks = all         #指定分区中有多少副本必须收到这条消息,生产者才认为这条消息发送成功

        acks = 0      #生产者发送消息之后不需要等待任何服务端的响应
acks = 1    #只要分区的leader副本成功写入消息,那么它就会收到服务端的成功响应
acks = -1 或all   #生产者在发送消息之后,需要等待ISR中的所有副本都成功写入消息之后,才能够收到来自服务端的成功响应。 batch.size = 16384 #ProducerBatch 最大缓存空间,默认16KB bootstrap.servers =[192.1.1.2:9092] #kafka集群 buffer.memory = 33554432 #RecordAccumulator消息累加器最大存储空间,默认32MB client.id = #客户端id compression.type = none #设置消息的压缩格式("gzip,snappy,lz4")\
      对消息压缩可以极大的减少网络传输、降低网络IO,从而提高整体性能。这是一种时间换空间的优化方式,如果对延时性要求高,则不推荐对消息进行压缩 connections.max.idle.ms = 540000 #设置多久之后关闭闲置连接,默认9分钟 enable.idempotence = false interceptor.classes = [] #拦截器配置 key.serializer = class org.apache.kafka.common.serialization.IntegerSerializer #key的序列化器 linger.ms = 0 #生产者在客户端发送ProducerBatch被填满或等待时间超过linger.ms值是发出去
#指定生产者发送producerBatch 之前等待更多消息加入producerRecord加入ProducerBatch的时间 max.block.ms = 60000 #用来控制KafkaProducer中send()方法和partitionsFor()方法的阻塞时间,当生产者的发送缓冲区
#已满,或者没有可用的元数据时,这些方法就会阻塞。 max.in.flight.requests.per.connection = 5 #客户端与broker端连接最多缓存5个未响应的请求(即发送到broker端,没来得及收到响应),
#如果超过了就不能再发送请求,可以通过这个参数大小来判断是否有消息堆积 max.request.size = 1048576 #生产者客户端能发送的消息的最大值,默认1M(不建议改,会引起联动) metadata.max.age.ms = 300000 #元数据更新时间,5分钟 partitioner.class = class com.zpb.partitioner.CustomPartition   #自定义key分区器,可以根据指定的key来作特殊的的相关业务 retries = 0 #生产者重试次数,默认0,在发生异常时不进行任何的重试。在发送数据时会遇到2种异常,一种是可恢复的,一种是不可
#恢复的,如:leader的选举,网络抖动等这些异常是可以恢复的,这个时候设置retries大于0就可以进行重试,在网络稳定
#或者leader选举完后,这种异常就会消失,数据在重发时就会正常,在不可恢复异常时,如超过了max.request.size最大值
#时,这种错误是不可恢复的 retry.backoff.ms = 100 #重试之间的时间间隔,最好预估一下异常恢复的时间间隔,让重试时间大于异常恢复时间, value.serializer = class org.apache.kafka.common.serialization.StringSerializer #value序列化器

kafka producer 生产者客户端参数配置的更多相关文章

  1. 初识 Kafka Producer 生产者

    目录 1.KafkaProducer 概述 2.KafkaProducer 类图 3.KafkaProducer 简单示例 温馨提示:整个 Kafka Client 专栏基于 kafka-2.3.0 ...

  2. kafka生产者客户端

    kafka的生产者 1. 生产者客户端开发 ​ 熟悉kafka的朋友都应该知道kafka客户端有新旧版本,老版本采用scala编写,新版本采用java编写.随着kafka版本的升级,旧版本客户端已经快 ...

  3. Apache Kafka Producer For Beginners

    在我们上一篇Kafka教程中,我们讨论了Kafka Cluster.今天,我们将通过示例讨论Kafka Producer.此外,我们将看到KafkaProducer API和Producer API. ...

  4. Scala调用Kafka的生产者和消费者Demo,以及一些配置参数整理

    kafka简介 Kafka是apache开源的一款用Scala编写的消息队列中间件,具有高吞吐量,低延时等特性. Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受 ...

  5. 4 kafka集群部署及kafka生产者java客户端编程 + kafka消费者java客户端编程

    本博文的主要内容有   kafka的单机模式部署 kafka的分布式模式部署 生产者java客户端编程 消费者java客户端编程 运行kafka ,需要依赖 zookeeper,你可以使用已有的 zo ...

  6. Kafka学习笔记3--Kafka的生产者和消费者配置

    下载解压 kafka 后,在 kafka/config 下有 3 个配置文件与主题及其生产.消费相关. server.properties--服务端配置 producer.properties--生产 ...

  7. Spring Kafka整合Spring Boot创建生产者客户端案例

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 创建一个kafka-producer-master的maven工程.整个项目结构如下: ...

  8. Kafka技术内幕 读书笔记之(二) 生产者——新生产者客户端

    消息系统通常由生产者(producer ). 消费者( consumer )和消息代理( broker ) 三大部分组成,生产者会将消息写入消息代理,消费者会从消息代理中读取消息 . 对于消息代理而言 ...

  9. java kafka单列模式生产者客户端

    1.所需要的依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="ht ...

随机推荐

  1. Java+web+上传文件夹

    用JAVA实现大文件上传及显示进度信息 ---解析HTTP MultiPart协议 (本文提供全部源码下载,请访问 https://github.com/1269085759/up6-jsp-mysq ...

  2. web文件夹上传

    需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制. 第一步: 前端修改 由于项目使用的是 ...

  3. python while for 语句

    while 语句: >>> x = >>> : ... x += ... print(x) ... for 语句: >>> words = ['a ...

  4. 一图了解DLL和SYS的区别

    The following diagram shows the device node, kernel-mode device stack, and the user-mode device stac ...

  5. CF1197A

    CF1197A 题意: 定义k阶梯子为两边各一块木板长度至少k+1,中间k块木板至少为1 .问 给你n块木板,最多能搭成几阶的梯子. 解法: 读题两小时,代码五分钟. 考虑贪心,构成梯子的两侧的木棍一 ...

  6. C#winform如何实现文本编辑框(TextBox)的Hint提示文字效果

    C#winform如何实现文本编辑框(TextBox)的Hint提示文字效果 private const int EM_SETCUEBANNER = 0x1501; [DllImport(" ...

  7. 在使用vagrant访问PHP文件是报错“file not found”,好像是最新的NGINX不能识别document_root,只能改为自己的项目目录/vagrant_data

    出现该错误有很多可能,有可能是root配置不对,有可能是fastcgi_param SCRIPT_FILENAME参数不对等. 而本人遇到的也是参数不对,但是是一个比较少人提及的问题,nginx版本不 ...

  8. python笔记4 内置函数,匿名函数.递归函数 面向对象(基础, 组合,继承)

    内置函数 eval和exec eval :执行字符串中的代码并将结果返回给执行者,有返回值 exec:执行字符串中的代码,往往用于执行流程语句,没有返回值. s1 = '1+2' s2 = 'prin ...

  9. .NET 5 = .NET Core vNext

    Introducing .NET 5 .NET 5 = .NET Core vNext .NET 5 is the next step forward with .NET Core. The proj ...

  10. Sql 中常用日期转换Convert(Datetime) convert datetime

    Convert(data_type,expression[,style]) Convert(varchar(10),字段名,转换格式) 说明:此样式一般在时间类型(datetime,smalldate ...