kafka avro 序列化有多种实现方式:
使用 io.confluent
需要设置 schema Registry server 统一管理 schema
好处就是全套框架化,搭建好基础设施之后,直接消费
自己管理schema
自己大奖schema server,生产和消费端,通过 topic id 对应取 schema,
然后在从 byte 数组中进行序列化。
schema embeded in stream
每条消息是一个独立的 record, 既包含 schema 也包含 body。
这种方式不用管理 额外的schema server,
但是每条数据,有额外的开销。
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-record-serialization-services-nar</artifactId>
<version>1.5.0</version>
<type>pom</type>
</dependency>
引入了 AvroReader,可以从inputStream 里面读取schema,再解析数据。
网友评论