serialization - 使用 Avro 对象发送数据,使用模式注册表有优势吗?
问题描述
我有一个应用程序,我使用 AVSC 文件生成 avro 对象,然后使用它们生成对象。如果我希望通过在那里生成 pojos,我可以在另一个应用程序中使用相同的模式来消费。这是通过 Avro 插件完成的。我注意到的是模式注册表中不存在模式。
我想如果我改变我的生产者类型/设置,它可能会在那里创建它(我使用的是 kafka spring)。将它放在那里有什么好处吗,我现在正在做的只是数据的序列化,与从数据创建 GSON 对象并生成它们一样吗?
在注册表中没有架构是不好的做法吗?
解决方案
要回答这个问题,“是否有优势” - 是的。至少,它允许其他应用程序发现主题中包含的内容,无论这是否是另一个使用 Spring 的 Java 应用程序。
您不需要模式包含在消费者代码库中
你说你正在使用 Confluent 序列化程序,但是没有办法“跳过”模式注册,所以模式应该默认在注册表中的“your_topic-value”下
推荐阅读
- python - PyCharm:如何自动将视图设置为调试工具窗口的“调试器”选项卡?
- c# - 如何使用返回类型 ActionResult 对操作进行单元测试
? - angular - Angular 6 库管道
- python - python没有名为'A'的模块__init__ vs包
- symfony - 学说:选择查询以刷新水合实体连接?
- user-interface - Visual Studio 使用闪电图标来表示事件,这通常与事件相关联吗?
- node.js - 当这个简单的节点应用程序托管在 Azure 上时,为什么我会得到额外的字符
- sql - 将多个订单行合并为每个订单 1 行,最多 5 个
- reactjs - 兄弟组件的 React Ref
- javascript - 将数据从 PHP 转换为 JSON 数组