第 5 章 Kafka producer 配置调整
使用配置属性来优化 Kafka producer 的性能。您可以使用标准 Kafka producer 配置选项。调整配置以最大化吞吐量可能会增加延迟,反之亦然。您需要对生成者配置进行试验和调优,以获得所需的平衡。
在配置制作者时,仔细考虑以下方面,因为它们会严重影响其性能和行为:
- 压缩
- 通过在网络发送前压缩消息,您可以节省网络带宽并降低磁盘存储要求,但由于压缩和解压缩进程而增加 CPU 使用率增加。
- 批处理
- 当生成者发送消息时,调整批处理大小和时间间隔可能会影响吞吐量和延迟。
- 分区
- Kafka 集群中的分区策略可以通过并行和负载平衡支持制作者,其中生产者可以同时写入多个分区,每个分区接收相等的信息共享。其他策略可能包括容错的主题复制。
- 保护访问
- 通过设置用户帐户来管理对 Kafka 的安全访问,为身份验证、加密和授权实施安全措施。
5.1. 基本制作者配置 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
每个制作者都需要 connection 和 serializer 属性。通常,最好为跟踪添加客户端 ID,并使用生成者压缩来减小请求的批处理大小。
在基本制作者配置中:
- 无法保证分区中的消息顺序。
- 到达代理的消息不能保证持久性。
基本制作者配置属性
- 1
- (必需)告诉制作者使用 Kafka 代理的 host:port bootstrap 服务器地址连接到 Kafka 集群。生产者使用地址来发现并连接到集群中的所有代理。如果服务器停机,请使用逗号分隔的列表来指定两个或三个地址,但不需要提供集群中的所有代理的列表。
- 2
- (必需)Serializer 将每个消息的密钥转换为字节,然后再发送到代理。
- 3
- (必需)Serializer 将每个消息的值转换为字节,然后再发送到代理。
- 4
- (可选)客户端的逻辑名称,用于日志和指标来识别请求源。
- 5
- (可选)压缩消息的代码c,这些消息会被发送,并可能以压缩格式存储,然后在到达消费者时解压缩。压缩可用于提高吞吐量并减少存储负载,但可能不适用于压缩或解压缩成本的低延迟应用程序。