12.4.2. Kafka 使用者配置调整
使用基本使用者配置,以及根据特定用例量身定制的可选属性。
调优您的消费者时,您的主要顾虑是确保它们能高效地应对被窃取的数据量。与制作者调优一样,准备好进行增量更改,直到消费者按预期工作。
12.4.2.1. 基本使用者配置
每个消费者都需要连接和反序列化器属性。通常,最好添加客户端 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 集群。使用者使用该地址来发现并连接到集群中的所有代理。在服务器停机时使用逗号分隔列表来指定两个或三个地址,但不需要提供集群中所有代理的列表。如果您使用负载均衡器服务公开 Kafka 集群,则只需要该服务的地址,因为负载均衡器处理其可用性。
- 2
- (必需)Deserializer 将从 Kafka 代理获取的字节转换为消息密钥。
- 3
- (必需)Deserializer 将从 Kafka 代理获取的字节转换为消息值。
- 4
- (可选)客户端的逻辑名称,用于日志和指标来标识请求的来源。id 也可用于根据处理时间配额对消费者进行限流。
- 5
- (条件) 用户需要 组 ID 才能加入消费者组。
消费者组用于共享通常由多个生产者从给定主题生成的大型数据流。使用 group.id
对消费者进行分组,允许消息分散到不同成员中。