首页 > IT职业 > IT生活 > Fury 序列化框架的介绍
Fury是一个基于JIT动态编译的多语言原生序列化框架,支持Java/Python/Golang/C++等语言,提供全自动的对象多语言/跨语言序列化能力,以及相比于别的框架最高20~200倍的性能。
Fury通过一套支持引用、类型嵌入的语言无关协议,以及JIT动态编译加速、缓存优化和Zero-Copy等技术,实现了任意对象像动态语言自动序列化一样跨语言自动序列化,消除了语言之间的编程边界。
Fury定义和实现了一套序列化的基础能力,基于这套能力能够快速构建不同的多语言序列化协议,并通过编译加速等优化具备高性能。
Fury提供多种二进制协议,包括跨语言对象图协议、原生Java/Python对象图协议、行格式协议等,满足不同场景的需求。
Fury除了跨语言能力,还具备以下能力:无缝替代JDK/Kryo/Hessian等Java序列化框架,支持共享引用和循环引用的Golang序列化框架,支持对象自动序列化的Golang序列化框架。
Fury支持主流编程语言如Java/Python/C++/Golang/JavaScript,其它语言可轻易扩展;
Fury可以多语言/跨语言自动序列化任意对象,无需创建IDL文件、手动编译schema生成代码以及将对象转换为中间格式;
Fury可以多语言/跨语言自动序列化共享引用和循环引用,不需要关心数据重复或者递归错误;
Fury基于JIT动态编译技术在运行时自动生成序列化代码优化性能,增加方法内联、代码缓存和死代码消除,减少虚方法调用/条件分支/Hash查找/元数据写入等,提供相比其它序列化框架20~200倍以上的性能;
Fury支持Zero-Copy序列化,支持Out of band序列化协议,支持堆外内存读写;
Fury提供缓存友好的二进制随机访问行存格式,支持跳过序列化和部分序列化,并能和列存自动互转。
Fury适用于需要跨进程、跨语言、跨节点传输、持久化、状态读写、复制等场景,其性能和易用性影响运行效率和开发效率。
Fury适用于需要支持对象引用和多态、无需创建IDL文件、手动编译schema生成代码以及将对象转换为中间格式的通用跨语言编程场景。
Fury适用于需要无缝替代JDK/Kryo/Hessian等Java序列化框架,提供高性能RPC调用、数据传输和对象持久化效率的场景。
Fury适用于需要提供缓存友好的二进制随机访问行存格式,支持跳过序列化和部分序列化,适合高性能计算和大规模数据传输场景。
https://mp.weixin.qq.com/s/buuytFU9W6Vg_30WIGWp9w
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70024433/viewspace-2967186/ ,如需转载,请注明出处,否则将追究法律责任。