2.3. 向主题和分区生成信息
使用 Kafka Bridge 使用 topics 端点向 JSON 格式的 Kafka 主题生成信息。
您可以使用 topics 端点将消息生成到 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 1Copy 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-topicCopy to Clipboard Copied! Toggle word wrap Toggle overflow
如果在 OpenShift 上部署了 Apache Kafka 的 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 会返回一个
偏移数组,以及application/vnd.kafka.v2+json的content-type标头。对于每个消息,偏移数组描述:- 消息发送到的分区
分区的当前消息偏移
响应示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其他主题请求
发出其他 curl 请求以查找有关主题和分区的信息。
- 列出主题
curl -X GET \ http://localhost:8080/topics
curl -X GET \ http://localhost:8080/topicsCopy 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-topicCopy 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/partitionsCopy 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/0Copy 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/offsetsCopy 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 消费者。