序列化框架之AVRO

本文介绍了Apache AVRO,一个用于序列化和RPC的开源框架,它以字符串形式表示数据,以JSON作为数据约束。AVRO的核心优势在于其跨平台、跨语言的数据传输能力,特别适合在Android和iOS之间进行数据交换。文章详细阐述了AVRO的序列化过程,包括衡量标准和如何创建AVRO项目,并探讨了RPC的概念,解释了RPC如何简化远程调用的复杂性,提供了一种类似本地调用的体验。
摘要由CSDN通过智能技术生成

目录

概述

序列化

RPC


概述

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值