在生产者向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. 007_STM32程序移植之_多通道ADC转换

    1. 测试环境:STM32C8T6 2. 测试:使用DMA进行多通道ADC转换 3. 描述:用 ADC 连续采集 12 路模拟信号,并由 DMA 传输到内存.ADC 配置为扫描 并且连续转换模式,AD ...

  2. Flutter布局2--Align

    Align控件即对齐控件,能将子控件所指定方式对齐,并根据子控件的大小调整自己的大小. eg: 文字组件对齐于右下方 new Align( alignment: FractionalOffset.bo ...

  3. java常用函数

    if(null == list || list.size() ==0 ){ } list.isEmpty()和list.size()==0 没有区别 isEmpty()判断有没有元素而size()返回 ...

  4. Linux配置Tomcat8080端口 远程无法访问解决办法

    是因为Linux的防火墙没有开放8080端口 解决办法: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT #开启8080端口  /sbin/ ...

  5. openstack 无法创建新虚拟机报错 openstack报错:Host is not mapped to any cell

    关联错误提示:Host is not mapped to any cell 控制节点上执行: root@ubsv:/home/makeit# nova-manage cell_v2 discover_ ...

  6. Spring Cloud Gateway(一):认识Spring Cloud Gateway

    1.Spring Cloud Gateway 简介 Spring Cloud Gateway 系列目录 Spring Cloud Gateway(一):认识Spring Cloud Gateway S ...

  7. 谈谈Java对象的强引用,软引用,弱引用,虚引用分别是什么

    整体结构 java提供了4中引用类型,在垃圾回收的时候,都有自己的各自特点. 为什么要区分这么多引用呢,其实这和Java的GC有密切关系. 强引用(默认支持模式) 把一个对象赋给一个引用变量,这个引用 ...

  8. pwn学习日记Day8 基础知识积累

    知识杂项 aslr:是一种针对缓冲区溢出的安全保护技术,通过对堆.栈.共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的的一种技术 ...

  9. java课后实验性问题4

    课后作业一: 使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象? 设计思路:定义类的构造函数时使静态变量i进行i++,即每构 ...

  10. Linux -bash: redis-cli: command not found(亲测可行)

    Linux 安装完redis单独用命令: ? 1 redis-server 报错: ? 1 -bash: redis-server: command not found 说明redis-server不 ...