这些是 Apache Kafka 和相关流处理框架(如 Flink)的配置参数,详细解释每个参数的含义:

Kafka 消费者配置

Properties.max.poll.records=500

· 单次 poll 调用返回的最大记录数
· 控制每次从服务器获取的消息批量大小

Properties.fetch.max.bytes=52428800

· 每次 fetch 请求获取数据的最大字节数(50MB)
· 服务器返回数据的总体大小限制

Properties.max.partition.fetch.bytes=1048576

· 每个分区返回数据的最大字节数(1MB)
· 控制单个分区单次获取的数据量

Properties.enable.auto.commit=true

· 是否自动提交消费位移
· true 表示自动提交,false 需要手动提交

启动和消费配置

scan.startup.mode=latest-offset

· 消费者启动时的初始位置策略
· latest-offset:从最新偏移量开始消费(只消费新消息)

Kafka 生产者配置

properties.ack=1

· 消息确认机制
· 1:只需领导者副本确认即可(平衡可靠性和性能)

sink.partitioner=default

· 消息分区策略
· default:使用默认分区器(通常基于 key 的哈希值)

sink.delivery-guarantee=at-least-once

· 消息交付保证
· at-least-once:至少一次交付(可能重复,不会丢失)

数据格式配置

format=json

· 数据序列化格式为 JSON

json.timestamp-format.standard=sql

· 时间戳格式遵循 SQL 标准
· 格式:YYYY-MM-DD HH:MM:SS[.fffffffff]

json.ignore-error=false

· 是否忽略 JSON 解析错误
· false:遇到解析错误会抛出异常

json.encode.decimal-as-plain-number=false

· 小数编码方式
· false:可能使用字符串或其他格式编码小数

json.map-null-key.mode=fail

· 处理 Map 中 null 键的策略
· fail:遇到 null 键时抛出异常

这些配置组合起来定义了一个:

· 从最新位置开始消费
· 使用 JSON 格式
· 提供至少一次交付保证
· 具有严格错误处理的 Kafka 数据流处理作业。

更多推荐