大家有没有想过一个问题,RPC的实现分两部分,序列化与反序列化协议和传输协议,其中传输协议可以用TCP/UDP/HTTP等,序列化与反序列化协议可以用JSON/XML/ProtoBuf/hessian等等,那么能不能消除序列化与反序列化的损耗呢?有没有一个大一统的协议,跨语言跨平台,一个数据结构,大家拿来就处理,不用转成对象,这样能省不少资源,这就是apache arrow的目标之一,还有没有其他的好处?当然有了,如果数据都在一起,那么cpu的缓存利用率就很高了,性能提升不是一点半点。
- 添加依赖
<!-- https://mvnrepository.com/artifact/org.apache.arrow/arrow-vector -->
<dependency>
<groupId>org.apache.arrow</groupId>
<artifactId>arrow-vector</artifactId>
<version>1.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.arrow/arrow-memory-unsafe -->
<dependency>
<groupId>org.apache.arrow</groupId>
<artifactId>arro