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