【问题标题】:How to connect Redpanda cluster and topic to Redpanda Schema Registry?如何将 Redpanda 集群和主题连接到 Redpanda Schema Registry?
【发布时间】:2022-01-07 05:32:36
【问题描述】:

我正在尝试将正在运行的 redpanda kafka 集群连接到 redpanda 架构注册表,以便架构注册表验证传入主题的消息和/或从主题读取的消息。

我能够将架构添加到注册表并使用 curl 请求将其读回,以及向我在 redpanda 集群中创建的 kafka 主题添加消息。

我的问题是,如何在 kafka 集群中实现带有主题的模式注册表?比如我如何指示架构注册表和/或 kafka 主题根据我添加到注册表的架构验证传入消息?

感谢您的帮助或指出正确的方向!

相关信息:

集群和主题创建: https://vectorized.io/docs/guide-rpk-container

rpk container start -n 3
rpk topic create -p 6 -r 3 new-topic --brokers <broker1_address>,<broker2_address>...

架构注册表创建: https://vectorized.io/blog/schema_registry/

添加架构的命令:

curl -s \
  -X POST \
  "http://localhost:8081/subjects/sensor-value/versions" \
  -H "Content-Type: application/vnd.schemaregistry.v1+json" \
  -d '{"schema": "{\"type\":\"record\",\"name\":\"sensor_sample\",\"fields\":[{\"name\":\"timestamp\",\"type\":\"long\",\"logicalType\":\"timestamp-millis\"},{\"name\":\"identifier\",\"type\":\"string\",\"logicalType\":\"uuid\"},{\"name\":\"value\",\"type\":\"long\"}]}"}' \
  | jq

【问题讨论】:

    标签: apache-kafka schema confluent-schema-registry redpanda


    【解决方案1】:

    客户负责此类集成。例如,Confluent Schema Registry 包括 KafkaAvroSerializer Java 类,它包装了一个 HTTP 客户端,用于处理模式注册和消息验证。代理不处理“主题模式”,因为模式实际上是每条记录。除非 RedPanda 有类似的东西,否则只有 Enterprise "Confluent Server." 提供代理端验证

    RedPanda 主要是一个公开与 Kafka 兼容的 API 的服务器;我认为您可以为各自的客户端语言创建(反)序列化程序接口。 Vectorized Github 上有一个 Python 示例。
    话虽如此,Confluent Schema Registry 也应该与 RedPanda 一起使用,因此您可以使用它的序列化程序和 HTTP 客户端库。

    【讨论】:

    • 感谢您的帮助。我将研究如何使用 Confluent 的序列化程序和 HTTP 客户端库,因为我现在正在使用 Confluent 集群和模式注册表容器。也很高兴了解企业产品,因为我处于企业环境中,一旦我们投入生产,这可能是一种选择。
    猜你喜欢
    • 2022-01-11
    • 2021-08-24
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    • 2017-11-07
    • 2017-10-06
    相关资源
    最近更新 更多