【hortonworks/registry】AVRO 规范-Schema的定义和声明

1.概述

故事源于一场意外,我想知道hortonworks/registry 支不支持,任意的Json,不一定带有name和type的,就是任意,于是想看看相关资料,记录一下。这里直接引用别人的防丢失。

2.为什么需要schema registry?

首先我们知道:

  1. Kafka将字节作为输入并发布
  2. 没有数据验证

但是:

  1. 如果Producer发送了bad data怎么办?
  2. 如果字段被重命名怎么办?
  3. 如果数据类型改变了怎么办?
  4. 这些情况都会导致consumer break

所以:

  1. 我们需要数据能够自我描述
  2. 我们需要能够在不破坏下游消费者的情况下演化数据
  3. 能够拒绝坏数据

参考:https://www.cnblogs.com/fangjb/p/13305433.html

参考自http://avro.apache.org/docs/current/spec.html
Avro 1.4.1规范定义了Avro序列化系统,它即将成为官方规范,Avro的各种实现方式必须遵循该规范。

Schema定义
AVRO的Sc

你可能感兴趣的:(工具-Registry)