【问题标题】:How to generate Avro schemas in Go automatically?如何在 Go 中自动生成 Avro 模式?
【发布时间】:2018-11-11 18:12:36
【问题描述】:

我正在尝试将 Avro 和 Schema Registry 集成到我们的 Kafka 数据管道中。现在它在 Go 服务内部看起来像

获取数据 -> 将数据编码为 JSON -> 写入 Kafka

我想以同样的方式使用 avro 架构

生成架构 -> 更新架构注册表中的架构 -> 获取数据 -> 编码为 Avro -> 写入 Kafka

但是有几个问题:

  1. 如何自动从 Go 类生成架构?
  2. 我应该如何检查架构与架构注册表的兼容性?

【问题讨论】:

  • 您是否查看过执行此操作的库?例如github.com/linkedin/goavro
  • Schema Registry 有一个记录在案的 API 用于兼容性检查
  • @JohnGiotta 他们不这样做。我的意思是从 go 代码生成 avro 模式?

标签: go apache-kafka avro confluent-schema-registry


【解决方案1】:

有几种方法可以从 Avro 创建 Go 类。你试过这个https://github.com/actgardner/gogen-avro吗?

用法 从一个或多个 Avro 模式文件生成 Go 源文件, 运行:

gogen-avro [--package=] [--containers] output_directory avro_schema 文件

Confluent Schema 注册表提供了几种检查模式之间兼容性的方法。你可以看看他们的 API Here。还有其他方法可以做到这一点,例如在集成测试期间使用 maven 以确保源代码和其他环境之间的兼容性。你可以找到一些信息here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 2019-11-22
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    相关资源
    最近更新 更多