我通过 Rest Proxy(在 Docker 容器中)使用 Kafka 版本 2.2.0cp2。我需要消费者始终只阅读一条消息。
max.poll.records=1
我在文件中设置的值/etc/kafka/consumer.properties
如下:
consumer.max.poll.records=1
或者:
max.poll.records=1
它没有效果。
在其他配置中设置此值也没有给出任何结果。
我通过 Rest Proxy(在 Docker 容器中)使用 Kafka 版本 2.2.0cp2。我需要消费者始终只阅读一条消息。
max.poll.records=1
我在文件中设置的值/etc/kafka/consumer.properties
如下:
consumer.max.poll.records=1
或者:
max.poll.records=1
它没有效果。
在其他配置中设置此值也没有给出任何结果。
所以consumer.properties
不会从 REST 代理中读取
假设可以更改消费者属性,则kafka-rest
容器 env-var 将是KAFKA_REST_CONSUMER_MAX_POLL_RECORDS
,但该设置仅控制代理服务器的内部轮询循环,而不是返回给 HTTP 客户端的数据量...
必须为limit
API 提供一个不存在的标志 - https://docs.confluent.io/current/kafka-rest/api.html#get--consumers-(string-group_name)-instances- (字符串实例)-记录
我没有看到以下链接中提到的任何消费者投票设置
https://docs.confluent.io/current/kafka-rest/config.html
但是,如果您知道平均消息大小,则可以通过如下方式传递 max_bytes 来控制记录大小
GET /consumers/testgroup/instances/my_consumer/records?timeout=3000&max_bytes=300000 HTTP/1.1
最大字节数:
应包含在响应中的未编码键和值的最大字节数。这提供了对响应大小和存储解码响应所需的内存量的近似控制。实际限制将是此设置和服务器端配置 consumer.request.max.bytes 的最小值。默认为无限制