在生成/消费者消息时添加Schema Registry的附加层(又称失败点)是否有任何好处?如果服务发生故障,则不会消耗或生成消息。使用卡夫卡的系统不会因为不使用架构注册表而导致错误少一点,从而不易发生错误?添加额外的Schema Registry注册表权重?
回答
在您的体系结构中拥有模式注册表的一个关键点是确保您的数据管道即使在正常操作期间也是端到端工作的“。也就是说,即使所有系统启动并运行(“全部绿色,100%正常运行!”),由团队A
管理的生产者应用程序可能会得到更新,并且现在开始生成不兼容的数据,这些数据导致对下游消费者造成的附带损害,这些下游消费者由团队B
和C
管理,他们并不期待这种变化。
因此,当您决定是否使用模式注册表时,您不仅应该问自己“何时失败”的情况(这很可能会在某个时候发生,这就是为什么例如Confluent模式注册表支持诸如高可用性设置之类的功能),但是关于数据管道所需的一般保证。
如果服务发生故障,则不会消耗或生成消息。
一般来说,是的。实际上,架构注册表服务的高可用性模式,模式的客户端缓存等功能都有助于最大限度地减少任何此类损害。
使用卡夫卡的系统不会因为不使用架构注册表而导致错误少一点,从而不会出现错误?
你是对的,一般来说,你想避免引入一个组件,这将是链中的另一个失败点。也就是说,如果您正在生产中运行数据管道 - 特别是在一个更大的组织中 - 模式注册中心还有助于通过确保写入的数据始终可以读取来消除“故障点”。有人可能会争辩说,由“数据变化”引发的故障至少可以和由于一个或多个系统不可用而引发的故障一样常见。
模式注册表可以配置为highly available,因此它不是单点故障。
也就是说,如果您需要模式注册表附带的便利性和模式兼容性规则,那么您希望使用它。并非所有连接到Kafka集群的客户端都需要使用它,因此您可以尝试它,而不会影响同一集群上的其他客户端。
对于avro消息使用模式注册表的主要替代方法是将模式添加到消息本身。一些用户对于较大的消息大小并没有系统地演进架构是可以的。模式注册表适用于那些关心这些事情的人。
- 1. MSI Registry注册前额未更新
- 2. 为Joomla注册表单添加额外的字段
- 3. 如何添加额外的字段到Django注册表单?
- 4. 向django注册表格添加额外的字段
- 5. 如何在joomla 2.5注册表单中添加额外字段?
- 6. 额外的字段Django注册表格
- 7. 添加额外的输入auth用户注册之前laravel 5.4
- 8. Rails在设计注册中添加额外字段
- 9. 向Wordpress用户注册添加额外字段
- 10. Joomla! - 如何为用户注册添加额外信息?
- 11. rails设计:在注册时添加额外功能
- 12. 在注册时添加用户名和额外信息angular4
- 13. 如何在devise生成的注册表单中添加额外的字段?
- 14. 如何在wordpress中添加注册表单中的一些额外字段?
- 15. 添加权限组odoo ir.values注册
- 16. 注册表权限
- 17. C++添加注册表项
- 18. C++添加到注册表
- 19. Swift MapKit - 添加(额外)attribut到注释?
- 20. 更改注册表权限
- 21. Jomsocial - 如何在Jomoscial注册的第一页上添加额外的字段
- 22. Rails设计额外用户注册
- 23. 在Windows注册表项顶部添加注册表项#
- 24. 如何在Django注册中添加额外的(自定义)字段1.0
- 25. 如何在asp.net mvc中添加额外的字段来注册页面?
- 26. 想要为Hikashop用户注册部分添加额外的字段
- 27. 添加额外的列连接表
- 28. 添加额外的表格行
- 29. 为图表添加额外的标签
- 30. 注册表权限问题