Confluent Server上AVRO Schema验证机制技术问询
Confluent Server 启用
confluent.value.schema.validation后的验证流程 启用这个配置后,Broker会执行完整的消息内容验证,而非仅校验Schema ID,具体流程如下:
- 生产者发送的消息若携带Schema ID(通过Schema Registry序列化器生成),Broker首先会校验该ID在Schema Registry中是否存在且有效,确认对应的Schema是合法注册的
- 确认Schema ID有效后,Broker会反序列化消息的value部分,用Schema Registry中关联的Schema来检查消息内容是否完全匹配Schema定义:包括字段结构、数据类型、必填字段是否存在、字段约束是否符合要求等
- 若验证失败(比如Schema ID无效、消息结构不符合Schema规则),Broker会直接拒绝这条消息,并向生产者返回错误;只有验证通过的消息才会被存储到对应分区中
内容的提问来源于stack exchange,提问作者Katya Gorshkova
相关产品推荐
相关产品推荐

