首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果我的团队将提供带有模型的jar库,我是否需要模式注册表?

如果我的团队将提供带有模型的jar库,我是否需要模式注册表?
EN

Stack Overflow用户
提问于 2022-06-19 17:15:11
回答 1查看 122关注 0票数 0

我们正在以KafkaProtocol Buffers作为数据格式启动新项目。

看起来Confluent提供的序列化器/反序列化器假定使用Schema-Registy,但是由于我的团队每次模型更改都要发布新的jar,所以有任何理由使用注册中心吗?

我已经阅读了多篇文章和源代码,但仍然无法真正理解为什么在已经有模型的情况下使用模式注册中心。当您没有得到带有类或任何其他用例的jar时,情况是这样吗?如果能在实践中有这样的例子,那就太好了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-20 02:28:55

即使您有模型类,也可能需要架构注册表。更重要的是进行模式演变,这样任何模式更改都不会破坏现有的使用者/生产者。

还有一个建议,无论您使用模式注册中心,我建议在生产者和使用者中使用模式(json/avro/protbuf)来生成模型类,而不是添加为lib。您可以获得模式,并在构建步骤(maven/gradle)中包含一个插件来生成这些类。始终将模式作为所有讨论的真相来源,即使您正在使用模式注册中心或不使用Kafka env。

模式注册的另一个巨大优点是它将减少有线和Kafka broker日志上的有效负载的大小。不需要发送整个模式+主体,我们只需发送模式Id + body,它就会在使用者中被解密。这将提高性能。

从操作的角度来看,模式注册可以作为模式的单一真相来源。缺点是,您还有一个需要处理的组件。

因此,这取决于您的业务需求,您需要打一个基于正负的电话。但是,在代码中只包含模式以生成构建上的模型类,而不是在源代码回购/依赖于其他团队中提交。

请检查https://docs.confluent.io/platform/current/schema-registry/index.html https://docs.confluent.io/platform/current/schema-registry/avro.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72678885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档