我有一个生产者,可以使用REST API将消息推送到Kafa主题。现在,我如何拥有一个可以使用REST API消耗这些消息的使用者。
我尝试使用@GetMapping,但没有成功
答案 0 :(得分:1)
Confluent平台具有REST代理,可通过REST公开Kafka主题。它允许您使用REST生成主题的消费数据。请参见示例here
使用主题中的json数据的示例
从主题的开头开始为JSON数据创建使用者 登录并订阅主题。然后在第一个响应中使用基本URL消耗一些数据。 最后,用DELETE关闭使用者以使其离开组并清理 它的资源。
$ curl -X POST -H "Content-Type: application/vnd.kafka.v2+json" \
--data '{"name": "my_consumer_instance", "format": "json", "auto.offset.reset": "earliest"}' \
http://localhost:8082/consumers/my_json_consumer
{"instance_id":"my_consumer_instance",
"base_uri":"http://localhost:8082/consumers/my_json_consumer/instances/my_consumer_instance"}
$ curl -X POST -H "Content-Type: application/vnd.kafka.v2+json" --data '{"topics":["jsontest"]}' \
http://localhost:8082/consumers/my_json_consumer/instances/my_consumer_instance/subscription
$ curl -X GET -H "Accept: application/vnd.kafka.json.v2+json" \
http://localhost:8082/consumers/my_json_consumer/instances/my_consumer_instance/records
[{"key":null,"value":{"foo":"bar"},"partition":0,"offset":0,"topic":"jsontest"}]
$ curl -X DELETE -H "Content-Type: application/vnd.kafka.v2+json" \
http://localhost:8082/consumers/my_json_consumer/instances/my_consumer_instance