添加额外的模式注册层的好处?

o2rvlv0m  于 2021-06-07  发布在  Kafka
关注(0)|答案(2)|浏览(243)

在生成/消费消息时,为schema registry添加一个附加层(也称为故障点)有什么好处吗?如果服务停止,那么消息就不会被消费或产生。使用kafka的系统不会因为没有使用schema registry而减少一个故障点吗?

dffbzjpn

dffbzjpn1#

在体系结构中使用模式注册表的一个关键点是确保数据管道“即使在正常操作期间”也能端到端地工作。
也就是说,即使所有系统都已启动并运行(“全绿,100%正常运行时间!”),由团队管理的生产者应用程序 A 例如,可能会得到更新,现在开始生成不兼容的数据,从而对团队管理的下游消费者造成附带损害 B 以及 C 没想到会有这样的变化。
因此,当您决定是否使用模式注册表时,您不应该只问自己“当事情失败时”(这种情况很可能会在某个时候发生,这就是为什么confluent schema registry支持高可用性设置之类的功能),同时也要保证数据管道的正常工作。
如果服务停止,那么消息就不会被消费或产生。
一般来说,是的。在实践中,诸如模式注册服务的高可用性模式、模式的客户端缓存等特性都有助于将任何此类损害降至最低。
使用kafka的系统不会因为没有使用schema registry而减少一个故障点吗?
你是对的,一般来说,你希望避免引入一个组件,这将是链中的另一个故障点。
也就是说,如果您在生产环境中运行数据管道——特别是在一个更大的组织中——模式注册中心还可以通过确保写入的数据也始终可以被读取来帮助消除“故障点”。有人可能认为,“数据更改”引发的故障至少与一个或多个系统不可用引发的故障一样常见。

8yoxcaq7

8yoxcaq72#

可以将架构注册表配置为高可用性,这样就不会出现单点故障。
也就是说,如果您想要模式注册表附带的便利性和模式兼容性规则,那么您就需要使用它。并非所有连接到kafka集群的客户端都需要使用它,因此您可以在不影响同一集群上的其他客户端的情况下进行尝试。
使用avro消息的模式注册表的主要替代方法是将模式添加到消息本身。一些用户可以接受较大的消息大小,而不是系统地演化模式。schema注册中心是为那些关心这些事情的人准备的。

相关问题