当前位置: 首页 > article >正文

kafka-clients之CommonClientConfigs

CommonClientConfigskafka-clients库中一个包含Kafka通用配置项的类,它定义了Kafka Producer、Consumer、Admin等客户端共享的配置。以下是其中的主要配置项及其含义:

1. bootstrap.servers

  • 类型List<String>
  • 说明:Kafka集群的地址列表。可以是多个节点的地址,以逗号分隔,如localhost:9092,localhost:9093。客户端通过这些地址连接到Kafka集群。

2. client.id

  • 类型String
  • 说明:客户端ID,用于标识Kafka客户端的名称。Kafka会在日志和监控中记录该ID,帮助运维人员识别是哪个客户端在发送或消费消息。

3. connections.max.idle.ms

  • 类型Long
  • 默认值:540000(9分钟)
  • 说明:Kafka客户端与服务器之间的连接最大空闲时间。超过该时间后,客户端会关闭空闲连接,以节约资源。

4. metadata.max.age.ms

  • 类型Long
  • 默认值:300000(5分钟)
  • 说明:客户端缓存元数据(比如分区信息)的最大时间。超过该时间后,客户端会向Kafka集群重新请求元数据。

5. metric.reporters

  • 类型List<String>
  • 说明:配置用于度量报告的类名列表。可以将自定义的度量报告器加入这里,将客户端的度量数据上报到外部系统。

6. metrics.num.samples

  • 类型Integer
  • 默认值:2
  • 说明:Kafka客户端的度量数据的采样数,用于计算度量指标的平均值。

7. metrics.recording.level

  • 类型String
  • 默认值INFO
  • 说明:控制Kafka客户端的度量记录级别。可选值有INFO(记录核心指标)和DEBUG(记录所有指标,数据量更大)。

8. metrics.sample.window.ms

  • 类型Long
  • 默认值:30000(30秒)
  • 说明:度量数据的时间窗口,用于计算统计数据。客户端会基于此时间窗口对度量数据进行统计分析。

9. receive.buffer.bytes

  • 类型Integer
  • 默认值:65536(64KB)
  • 说明:TCP接收缓冲区的大小。设置较大的缓冲区可以提高网络吞吐量,但会消耗更多内存资源。

10. reconnect.backoff.ms

  • 类型Long
  • 默认值:50
  • 说明:当连接失败时,Kafka客户端尝试重连的初始等待时间。每次连接失败后,等待时间会按指数增长。
  • 规则:org.apache.kafka.common.utils.ExponentialBackoff

11. reconnect.backoff.max.ms

  • 类型Long
  • 默认值:1000
  • 说明:客户端重试连接的最大等待时间。用于限制重连等待时间的增长上限,避免重连间隔过长。

12. request.timeout.ms

  • 类型Integer
  • 默认值:30000(30秒)
  • 说明:客户端请求的超时时间。超过该时间后,如果请求没有响应,客户端会抛出超时异常。

13. retry.backoff.ms

  • 类型Long
  • 默认值:100
  • 说明:重试的时间间隔。客户端在请求失败后会按照该间隔时间重试操作。

14. security.protocol

  • 类型String
  • 默认值PLAINTEXT
  • 说明:指定客户端与Kafka集群之间的安全协议。常用的协议有PLAINTEXT(无加密)、SSL(SSL加密)、SASL_PLAINTEXT(认证但不加密)和SASL_SSL(认证并加密)。

15. send.buffer.bytes

  • 类型Integer
  • 默认值:131072(128KB)
  • 说明:TCP发送缓冲区的大小。可以通过增大该值来提高发送的吞吐量。

16. socket.connection.setup.timeout.ms

  • 类型Long
  • 默认值:10000(10秒)
  • 说明:建立连接的超时时间,超过该时间后,连接将被关闭。适用于需要快速连接或资源有限的环境。

17. socket.connection.setup.timeout.max.ms

  • 类型Long
  • 默认值:30000(30秒)
  • 说明:建立连接的最大超时时间,超过此时间则连接失败。与 socket.connection.setup.timeout.ms 配合使用,限制连接的最长等待时间。

18. sasl.mechanism

  • 类型String
  • 默认值GSSAPI
  • 说明:设置SASL的认证机制,如GSSAPIPLAINSCRAM-SHA-256SCRAM-SHA-512等,配合security.protocol用于认证。

19. ssl.endpoint.identification.algorithm

  • 类型String
  • 默认值https
  • 说明:用于SSL连接的端点识别算法,确保客户端连接的是正确的服务器。设置为空字符串可禁用此验证。

20. ssl.key.password, ssl.keystore.location, ssl.keystore.password

  • 类型String
  • 说明:SSL认证所需的配置项,分别对应SSL私钥密码、Keystore文件位置和Keystore文件密码。

21. ssl.truststore.location, ssl.truststore.password

  • 类型String
  • 说明:SSL连接中信任库的配置项,分别对应Truststore文件位置和Truststore文件密码,用于客户端验证服务器的身份。

这些配置项通常在需要细粒度控制客户端行为时进行调整。


http://www.kler.cn/a/421163.html

相关文章:

  • 查询品牌涉及两张表(brand、brand_admin_mapping)
  • java基础语法光速入门
  • [linux应用]emby媒体服务器软件简单部署和使用
  • 深入探索 HarmonyOS 的 Navigation 组件:灵活的页面管理与动态导航
  • 基于链表的基础笔试/面试题
  • Python实现网站资源批量下载【可转成exe程序运行】
  • 使用 Apache Commons IO 实现文件读写
  • 二叉树的前中后序遍历(非递归)
  • SpringBoot开发——整合Redis 实现分布式锁
  • Node.js实现WebSocket教程
  • C语言:指针与数组
  • 【测试工具JMeter篇】JMeter性能测试入门级教程(七):JMeter断言
  • Python 网络爬虫高级教程:分布式爬取与大规模数据处理
  • C++ 游戏开发:跨平台游戏引擎的构建与优化
  • 【练习Day6】链表
  • Influxdb 架构
  • 华为HarmonyOS 让应用快速拥有账号能力 -- 3 获取用户手机号
  • C++中protobuf Message与JSON的互相转换
  • Android V GtsPermissionTestCases
  • 观成科技:寄生虫(APT-C-68)APT组织加密通信分析
  • 低资源部署 KubeSphere 4.1.2:2 核 4G 极简云原生实战
  • 16asm - 寻址
  • 电脑关机的趣味小游戏——system函数、strcmp函数、goto语句的使用
  • 面向人工智能安全的多维应对策略
  • OpenCV圆形标定板检测算法findCirclesGrid原理详解
  • 算法训练-搜索