Kafka入门(七)

news2024/11/14 6:16:24

下面聊聊Kafka的配置参数,包括生产者的配置参数、Broker的配置参数、消费者的配置参数。

1、生产者配置参数

  • acks
    该参数控制了生产者的消息发送确认机制,用于指定分区中必须有多少个副本成功接收到消息后生产者才会认为这条消息写入是成功的,即生产者需要Leader副本确认请求完成之前接收的应答数。
    该参数有3个值,含义如下
    在这里插入图片描述

  • buffer.memory
    Kafka生产者的Sender子线程在将消息批量发送到Kafka Broker端之前,会把消息先缓存到内存中,该参数决定了消息缓存的大小,默认值为32M;若生产者生产消息的速度大于将消息发送到Broker端的速度,那么生产者将会被堵塞,最终导致生产者抛出RecordTooLargeException异常;

  • batch.size
    该参数标识当Kafka客户端将多个消息发送到同一个分区的时候,生产者为例减少客户端与Broker端的网络请求数,会尝试先将消息批量打包一起进行统一发送,有助于提升网络吞吐量,其默认值为16KB。

  • compression.type
    该参数指定给到Topic中数据的压缩类型,共有4种压缩方式,gzip、snappy、lz4、zstd;也可以设置为uncompressd即不压缩。

  • client.id
    该参数表示唯一的id字符串标识。

  • connection.max.idle.ms
    该参数决定关闭生产者连接的时间阈值,其默认值为9min。

  • linger.ms
    该参数决定消息在生产者发送到Broker端之前,在客户端延迟发送的时间。

  • max.block.ms
    该参数用来控制send将消息堵塞多长时间,其默认值为60000ms。

  • max.request.size
    该参数表示生产者能发送消息的最大值,其默认值为1MB。

  • retries、retry.backoff.ms
    该参数表示通过内部的重试机制来执行恢复,并部署之间将异常抛出,如果重试次数达到设定的次数,生产者才会放弃重试并抛出异常,其默认值为0。

  • receive.buffer.bytes
    该参数用来设置接收消息缓冲区大小,其默认值为32KB。

  • send.buffer.bytes
    该参数用来设置发送消息缓冲区的大小,其默认值为128KB。

  • request.timeout.ms
    该参数用来决定生产者等待请求响应的最大时间,其默认值为30000ms。

  • reconnect.backoff.max.ms
    该参数表示Kafka客户端重连的最大时间,每次连接失败,重连时间都会成指数级增加,每次增加的时间会在20%随机浮动,以避免连接风暴出现。

  • reconnect.backoff.ms
    该参数表示Kafka客户端每次重连时候的间隔时间。

  • delivery.timeout.ms
    该参数用于指定客户端等待发送成功或失败时,客户端等待的时间上限。

  • partitioner.class
    该参数表示进行分区操作的类,其默认值为DefaultPartitioner。

  • transaction.timeout.ms
    该参数生产者主动终止当前正在进行的操作之前,Kafka等待操作更新的最大时间,其默认值为1min。

  • transaction.id
    该参数表示某个事务的id。

  • max.in.flight.requests.per.connection
    该参数表示在消息备堵塞前,每个客户端上发送的为应答请求的最大数量,其默认值为5。

  • metadata.max.age.ms
    该参数表示当超过这个时间间隔时,系统就会触发更新元数据,其默认值为5min。

  • metadata.max.idle.ms
    该参数用来控制生产者获取Topic元数据的时间。

2、Borker配置参数

  • broker.id
    该参数用来标识唯一的broker server,若不设置或broker.id<0,则会自动计算。
  • log.dir
    该参数用来设置log数据存放的目录,其默认值为/tmp/kafka-logs。
  • log.dirs
    该参数用来设置log数据存放的目录,如/tmp/kafka-logs。另外可以用逗号隔开设置多个目录,主要用来挂载到多个磁盘上,如/tmp/kafka0、/tmp/kafka1、/tmp/kafka2。若没有设置该参数,则使用log.dir配置替代。
  • listeners
    该参数为监听器配置。
  • advertised.listeners
    该参数用来配置Broker对外发布的监听器列表,存放在zookeeper中,客户端可以通过元数据信息拿到这个监听器列表对该Broker进行访问,如果为空,则默认会用listeners配置。
  • zookeeper.connect
    该参数用来已hostname:port形式指定zookeeper连接,也可以用逗号形式指定多个zookeeper连接。
  • auto.create.topics.enable
    该参数用来配置是否可以自动创建Topic。

3、消费者配置参数

  • key.deserializer
    该参数用来实现key的反序列化。
  • value.deserializer
    该参数用来实现value的反序列化。
  • bootstrap.servers
    该参数表示Kafka Broker集群的地址信息,格式为ip1:port、ip2:port等,不需要设定全部的集群地址,设置两个或两个以上即可。
  • group.id
    该参数表示消费者组的id,如果相同表示属于同一个消费者组,必须指定,否则报异常。
  • fetch.min.bytes
    该参数用来配置消费者在一次拉取请求中能从Kafka Broker中拉取的最小数据量,即调用poll方式时每次拉取的数据量,其默认值为1字节。
  • fetch.max.bytes
    与fetch.min.bytes参数对应,用来配置消费者在一次拉取请求中从Kafka Broker端中拉取的最大数据量,其默认值为50MB。
  • fetch.max.wait.ms
    该参数于fetch.min.bytes有关,若Kafka Broker端返回给消费者的数据量小于fetch.min.bytes值,消费者就需要等待,指定数据量满足参数的配置大小。
  • max.poll.records
    该参数用来配置消费者在一次拉取请求中拉取的最大消息数,其默认值为500条;若消息数都比较小,可以适当调大该参数提升消费速度。
  • max.partition.fetch.bytes
    该参数用来配置从每个分区返回给消费者的最大数据量,其默认值为1MB。
  • connections.max.idle.ms
    该参数用来指定在多长时间之后关闭闲置的消费者连接,其默认值为9min。
  • heartbeat.inerval.ms
    该参数用来设置于消费者协调器之间的心跳间隔时间。
  • send.buffer.bytes
    该参数用来设置发送消息缓冲区的大小,其默认值为128KB;若设置为-1,则使用系统默认值。
  • receive.buffer.bytes
    该参数用来设置接收消息缓冲区的大小,其默认值为64KB;若设置为-1,则使用系统默认值。
  • request.timeout.ms
    该参数用来配置消费者等待请求响应的最长时间,其默认值为30s。
  • reconnect.backoff.ms
    该参数用来配置消费者每次尝试重新连接指定Broker之前应该等待的时间,其默认值为50s。
  • auto.offset.reset
    该参数有3个值,含义如下
    在这里插入图片描述
  • enable.auto.commit
    该参数用来配置是否开启自动提交消费位移的功能,默认为开启。
  • auto.commit.inerval.ms
    该参数只有当enable.auto.commit为true时才生效,即开启自动提交偏移量功能时自动提交消费位移的时间间隔,其默认值为5s。
  • partition.assignment.strategy
    该参数用来配置消费者的分区分配策略,支持轮询、范围策略。
  • inerceptor.class
    该参数用来配置消费者的拦截器,必须实现ConsumerInterceptor接口,使用消费者拦截器可以允许用户截取消费者接收的消息,从而改变消息内容。默认是没有设置拦截器。
  • exclude.internal.topics
    该参数用来配置Kafka中的内部主题是否可以向消费者公开,其默认值为true。在Kafka中,有两个内部主题:_consumer_offsets、_transaction_state。

期待大家来指导~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/400058.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

问题解决:利用GeoFabrik下载OSM数据

问题描述由于OpenStreetMap数据常常是.osmnx格式&#xff0c;需要在Linix系统上进行格式转换&#xff0c;比较不方便。GeoFabrik 下载平台提供了一个很好的直接下载.shp数据格式的途径&#xff0c;链接如下&#xff1a;【无需梯子】Geofabrik Download Server具体下载方法以Nep…

QT-项目创建

项目创建 注意: 项目创建&#xff0c;名称和路径不能包含中文路径。 创建窗口三大基类 QWidhetQMainWindowQDialog 1.1 项目文件介绍 mian.cpp 介绍 #include "mywidget.h" #include <QApplication> // QApplication 应用程序类// 程序入口 命令行变量数量 …

Zabbix6.2利用模板和自定义监控项监控华为AR3260路由器

1&#xff1a;登录路由器的WEB管理控制台。在系统管理中找到SNMP然后开启SNMP代理&#xff0c;SNMP的版本可以只选择v2c都选择也无所谓&#xff0c;然后点击新建一个团体。 2&#xff1a;团体名称输入默认的public即可&#xff0c;在WEB端显示的是乱码&#xff0c;但是不影响使…

SQL执行过程详解

1 、用户在客户端执行 SQL 语句时&#xff0c;客户端把这条 SQL 语句发送给服务端&#xff0c;服务端的进程&#xff0c;会处理这条客户端的SQL语句。 2 、服务端进程收集到SQL信息后&#xff0c;会在进程全局区PGA 中分配所需内存&#xff0c;存储相关的登录信息等。 3 、客…

国外SEO策略指南:确保你的网站排名第一!

如果你想在谷歌等搜索引擎中获得更高的排名并吸引更多的流量和潜在客户&#xff0c;那么你需要了解一些国外SEO策略。 下面是一些可以帮助你提高谷歌排名的关键策略。 网站结构和内容优化 谷歌的搜索算法会考虑网站的结构和内容。 因此&#xff0c;你需要优化网站结构&…

2379. 得到 K 个黑块的最少涂色次数

2379. 得到 K 个黑块的最少涂色次数 难度简单 给你一个长度为 n 下标从 0 开始的字符串 blocks &#xff0c;blocks[i] 要么是 W 要么是 B &#xff0c;表示第 i 块的颜色。字符 W 和 B 分别表示白色和黑色。 给你一个整数 k &#xff0c;表示想要 连续 黑色块的数目。 每一…

Python数据结构与算法篇(二)-- 数组常见题型与解题技巧

数组和链表代表着计算机最基本的两种存储形式&#xff1a;顺序存储和链式存储&#xff0c;所以他俩可以算是最基本的数据结构。数组是一种基础数据结构&#xff0c;可以用来处理常见的排序和二分搜索问题&#xff0c;典型的处理技巧包括对双指针、滑动窗口等&#xff0c;数组是…

想要将多个视频拼接在一起?如何把三个视频合成一个视频

从事短视频创作行业以来&#xff0c;总是存在着各种挑战。最开始&#xff0c;因为主要负责视频素材的搜集&#xff0c;所以每天虽忙但充实&#xff0c;最近逐步开始学习视频的剪辑工作&#xff0c;可把我难到了&#xff01;想要将多个视频拼接在一起&#xff1f;如何把三个视频…

「 Java 8 新特性 」Stream 中的 map、peek、foreach 方法的区别

「 Java 8 新特性 」Stream 中的 map、peek、foreach 方法的区别 文章参考&#xff1a; 面试官问&#xff1a;Stream 中的 map、peek、foreach 方法的区别&#xff1f;傻傻分不清楚。。 stream中的map,peek,foreach的区别 一、概述 在学习java 8的stream api时&#xff0c;我们…

Java【数据结构入门OJ题33道】——力扣刷题记录1

文章目录第一天存在重复元素最大子数组和第二天两数之和合并两个有序数组第三天两个数组的交集买卖股票最佳时机第四天重塑矩阵杨辉三角第五天有效的数独矩阵置零第六天字符串中第一个唯一字符救赎金第七天判断链表是否有环合并两个有序链表移除链表元素第八天反转链表删除重复…

c++面试技巧-高级应用篇

1.面试官&#xff1a;什么是文件流&#xff1f; 应聘者&#xff1a;写入文件或者从文件读出的数据流称之为文件流。 2.面试官&#xff1a;文件流的类时如何划分的&#xff1f; 应聘者&#xff1a;当C对文件进行处理时&#xff0c;需要包括头文件iostream和fstream。fstream头…

游戏逆向之游戏技能分析

角色的当前技能列表往往都是从系统的技能库中进行筛选而组成的&#xff0c;而这个筛选的过程大多非常的复杂&#xff0c;经过的代码和临时结构体的传递也非常的多&#xff0c;所以在分析技能对象来源的时候常常要将OD和CE配合来使用。下面我们来分析下《天堂2》的技能列表。 首…

拼多多存在多种重大风险

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 中国电子商务市场发展迅速 拼多多&#xff08;PDD&#xff09;目前已经成为了在中国发展最快的电子商务平台之一。随着拼多多、阿里巴巴(BABA)和京东(JD)等市场主要参与者的竞争&#xff0c;中国电子商务正在迅速发展。 由…

安装SceneBuilder时出现Verify that you have access to that directory报错,解决方法之一

1、问题描述 安装SceneBuilder时出现Error writing to file...Verify that you have access to that directory报错&#xff0c;如图 2、解决步骤 1&#xff09;SceneBuilder-19.0.0.msi可从参考教程链接1获取&#xff0c;下载到文件夹D:\LcSceneBuilder\SceneBuilder-19.0.0…

Spring Cloud融合gateway自带GatewayFilter使用 | Spring Cloud 15

一、Spring Cloud Gateway内置GatewayFilter 路由过滤器允许以某种方式修改传入的 HTTP 请求或传出的 HTTP 响应。路由过滤器的范围是特定路由。Spring Cloud Gateway 包括许多内置的 GatewayFilter 工厂。 官网地址&#xff1a;https://docs.spring.io/spring-cloud-gateway…

MATLAB与图像处理的那点小事儿~

目录 一、学习内容 二、matlab基本知识 三、线性点运算 四、非线性点运算&#xff0c;伽马矫正 五、直方图 1、直方图均衡化 &#xff08;1&#xff09;使用histep函数实现图像均衡化 &#xff08;2&#xff09;使用自行编写的均衡化函数实现图像均衡化 2、直方图规定…

Ansys Zemax | 如何使用 OpticStudio 非序列优化向导

本文描述了如何使用 OpticStudio 非序列优化向导创建常见的评价函数类型&#xff0c;以及创建用于匹配导入图像文件的目标能量分布评价函数。&#xff08;联系我们获取文章附件&#xff09; 简介 在非序列模式下优化光学系统通常比在序列模式下的优化更复杂、更耗时。下期我们…

TencentOS tiny 移植到STM32F103教程

一、移植前的准备工作1. STM32的裸机工程模板这个可以自己创建&#xff08;创建过程参考之前的STM32裸机工程也有工程网盘在上面&#xff09;2.下载TencentOS tiny 源码TencentOS tiny的源码可从TencentOS tiny GitHub仓库地址https://github.com/Tencent/TencentOS-tiny下载&a…

无人机动力测试台:150kg级-Flight Stand 150

“飞行汽车”被人们广泛视为下一代交通工具。从2022年初至今&#xff0c;eVTOL&#xff08;电动垂直起降飞行器&#xff09;产业乃至整个UAM&#xff08;城市间空中交通&#xff09;市场呈现爆发式增长——各国航空制造企业纷纷入局&#xff0c;不断有新产品问世、试飞或试运行…

吐血整理,web自动化测试,POM模式搭建自动化测试框架(超级详细)

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 POM设计模式 主要是…