6.2.3. 生成到主题和分区的消息


接下来,使用主题端点以 JSON 格式生成消息到 主题。您可以在请求正文中为消息指定目的地分区,如下所示。分区 端点 提供了一种备选方法,用于指定所有消息的单一目标分区,作为路径参数。

流程

  1. 在文本编辑器中,为带有三个分区的 Kafka 主题创建 YAML 定义。

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaTopic
    metadata:
      name: bridge-quickstart-topic
      labels:
        strimzi.io/cluster: <kafka-cluster-name> 1
    spec:
      partitions: 3 2
      replicas: 1
      config:
        retention.ms: 7200000
        segment.bytes: 1073741824
    1
    部署 Kafka Bridge 的 Kafka 集群的名称。
    2
    主题的分区数量。
  2. 将文件保存到 example /topic 目录中,作为 bridge-quickstart-topic.yaml
  3. 在 OpenShift 集群中创建主题:

    oc apply -f examples/topic/bridge-quickstart-topic.yaml
  4. 使用 Kafka Bridge,为您创建的主题生成三个信息:

    curl -X POST \
      http://localhost:8080/topics/bridge-quickstart-topic \
      -H 'content-type: application/vnd.kafka.json.v2+json' \
      -d '{
        "records": [
            {
                "key": "my-key",
                "value": "sales-lead-0001"
            },
            {
                "value": "sales-lead-0002",
                "partition": 2
            },
            {
                "value": "sales-lead-0003"
            }
        ]
    }'
    • sales-lead-0001 发送至基于密钥哈希的分区。
    • sales-lead-0002 直接发送到分区 2。
    • sales-lead-0003 通过循环方法发送到 bridge-quickstart-topic 主题中的分区。
  5. 如果请求成功,Kafka Bridge 将返回一个 偏移数组,以及 200 代码 和内容类型 标头 application/vnd.kafka.v2+json。对于每条消息,偏移 阵列描述:

    • 消息发送到的分区
    • 分区的当前消息偏移

      响应示例

      #...
      {
        "offsets":[
          {
            "partition":0,
            "offset":0
          },
          {
            "partition":2,
            "offset":0
          },
          {
            "partition":0,
            "offset":1
          }
        ]
      }

接下来要做什么

在向主题和分区生成消息后,创建一个 Kafka 网桥使用者

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.