2.3. 将消息生成到主题和分区
使用 Kafka Bridge 使用主题端点,以 JSON 格式向 Kafka 主题生成信息。
您可以使用主题端点以 JSON 格式生成消息到 主题。您可以为请求正文中的消息指定目标分区。分区 端点提供了一种替代的方法,用来为所有消息指定一个目标分区作为 path 参数。
在此过程中,生成消息到名为 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
使用循环方法发送到bridge-quickstart-topic
主题中的一个分区。
-
如果请求成功,Kafka Bridge 会返回一个
偏移
数组,以及一个200
代码,以及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 使用者。