第 4 章 Kafka 使用者配置调整
使用带有针对特定用例量身定制的可选属性的基本消费者配置。
对消费者进行调优时,您的主要问题将确保它们与数据数量高效进行。与生产者调优一样,准备进行增量更改,直到使用者按预期运行。
4.1. 基本消费者配置
每个消费者都需要 connection 和 deserializer 属性。通常,为跟踪添加客户端 ID 是不错的做法。
在消费者配置中,无论后续配置是什么:
- 消费者从给定的偏移中获取并按顺序使用消息,除非偏移被更改为跳过或重新读取消息。
- 代理不知道消费者是否处理响应,即使向 Kafka 提交偏移,因为偏移可能会发送到集群中的不同代理。
基本消费者配置属性
# ... bootstrap.servers=localhost:9092 1 key.deserializer=org.apache.kafka.common.serialization.StringDeserializer 2 value.deserializer=org.apache.kafka.common.serialization.StringDeserializer 3 client.id=my-client 4 group.id=my-group-id 5 # ...
- 1
- (必需)告诉消费者使用 Kafka 代理的 host:port bootstrap 服务器地址连接到 Kafka 集群。消费者使用地址来发现并连接到集群中的所有代理。如果服务器停机,请使用逗号分隔的列表来指定两个或三个地址,但不需要提供集群中所有代理的列表。如果您使用 loadbalancer 服务来公开 Kafka 集群,则只需要该服务的地址,因为可用性是由 loadbalancer 处理的。
- 2
- (必需) Deserializer 将从 Kafka 代理获取的字节转换为消息键。
- 3
- (必需) Deserializer 将从 Kafka 代理获取的字节转换为消息值。
- 4
- (可选)客户端的逻辑名称,用于日志和指标来识别请求源。id 也可用于根据处理时间配额对消费者进行节流。
- 5
- (条件) 需要一个 组 id,以便消费者能够加入消费者组。