2.4. 向主题和分区生成信息
使用 Kafka Bridge 使用主题端点,以 JSON 格式的信息向 Kafka 主题生成信息。
您可以使用主题端点将消息生成到 JSON 格式的 主题。您可以为请求正文中的消息指定目的地分区。分区 端点提供了一种替代方法,可为所有消息指定一个目标分区作为路径参数。
在这一过程中,会将消息生成到名为 bridge-quickstart-topic
的主题。
先决条件
Kafka 集群有一个具有三个分区的主题。
您可以使用
kafka-topics.sh
实用程序来创建主题。创建三个分区的主题示例
bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic bridge-quickstart-topic --partitions 3 --replication-factor 1
bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic bridge-quickstart-topic --partitions 3 --replication-factor 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证该主题是否已创建
bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic bridge-quickstart-topic
bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic bridge-quickstart-topic
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果在 OpenShift 中部署了 AMQ Streams,您可以使用 KafkaTopic
自定义资源创建一个主题。
流程
使用 Kafka Bridge,为您创建的主题生成三条信息:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
sales-lead-0001
根据密钥的哈希发送到分区。 -
sales-lead-0002
直接发送至分区 2。 -
sales-lead-0003
使用 round-robin 方法发送到bridge-quickstart-topic
主题中的一个分区。
-
如果请求成功,Kafka Bridge 会返回一个
偏移
数组,以及一个200
代码和一个content-type
标头application/vnd.kafka.v2+json
。对于每个消息,偏移
数组描述:- 发送到消息的分区
分区的当前消息偏移
响应示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其他主题请求
发出其他 curl 请求以查找有关主题和分区的信息。
- 列出主题
curl -X GET \ http://localhost:8080/topics
curl -X GET \ http://localhost:8080/topics
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 响应示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 获取主题配置和分区详情
curl -X GET \ http://localhost:8080/topics/bridge-quickstart-topic
curl -X GET \ http://localhost:8080/topics/bridge-quickstart-topic
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 响应示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 列出特定主题的分区
curl -X GET \ http://localhost:8080/topics/bridge-quickstart-topic/partitions
curl -X GET \ http://localhost:8080/topics/bridge-quickstart-topic/partitions
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 响应示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 列出特定主题分区的详情
curl -X GET \ http://localhost:8080/topics/bridge-quickstart-topic/partitions/0
curl -X GET \ http://localhost:8080/topics/bridge-quickstart-topic/partitions/0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 响应示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 列出特定主题分区的偏移
curl -X GET \ http://localhost:8080/topics/bridge-quickstart-topic/partitions/0/offsets
curl -X GET \ http://localhost:8080/topics/bridge-quickstart-topic/partitions/0/offsets
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 响应示例
{ "beginning_offset": 0, "end_offset": 1 }
{ "beginning_offset": 0, "end_offset": 1 }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
下一步做什么
在为主题和分区生成消息后,创建一个 Kafka Bridge 消费者。