目录
概述
1.AVRO是Apache提供的开源框架,可以完成序列化以及RPC过程
2.原来是Apache Hadoop项目的子项目,后来不止可以用于Hadoop,也可以用于其他框架中进行序列化以及RPC,所以单立出来成为了Apache的顶级项目
3.AVRO在序列化数据的时候是以字符串形式体现,以json形式来作为约束
4.RPC用于完成数据的通信,使得前端人员在使用的时候看起来好像和后端一样
序列化
1.序列化的目的是完成数据的传输和交换
2.序列化的衡量标准:
对CPU的占用率多少以及序列化的时间长短
序列化之后产生的数据量越小越好
序列化之后的数据是否能跨平台跨语言(android(java/colin)和IOS(ObjectiveC/swift) 游戏底层用C)传输 - 核心思想是将对象转化为与语言无关的数据(字符串)
3.Avro在序列化的时候考虑使用的是字符串形式,也就意味着Avro将对象转化为字符串,然后在不同语言之间传输
4.创建AVRO项目:
4.1pom文件:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<compiler-plugin.version>2.3.2</compiler-plugin.version>
<avro.version>1.7.5</avro.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<group