avro也是apache的一个序列化和IPC方案,使用json格式定义schema,支持多种语言类型。具体的介绍可以看官方文档,不赘述
avro.apache.org
avro序列化的代码非常简单,可以直接参考官方的示例来运行:
http://avro.apache.org/docs/current/gettingstartedjava.html
这里写一个远程调用的例子,也是官方的RPC例子的剥离。
工程和依赖
可以定义一个simple maven project,或者,使用上面介绍的protobuf和thrift的工程,添加如下依赖:
<dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro-ipc</artifactId>
<version>1.7.7</version>
</dependency>
定义schema
定义一个avro protocal
{"namespace": "com.wu.avro.rpc",
"protocol": "Mail",