Apache Fury(孵化中)
Apache Fury(孵化中)一个基于动态代码生成和零拷贝技术的多语言序列化框架,实现了无需IDL编译的原生多语言编程范式,并提供最高170倍的性能和极致的易用性。大幅提升大规模数据传输、高并发RPC、分布式系统、云原生中间件等场景的性能,显著降低多语言系统的研发成本。
高性能
相比其他序列化框架,性能最高提升20~170倍
易于使用
无需编写IDL定义Schema,您可以使用Fury自动序列化自定义类型对象
多语言
支持Java、Scala、Python、C++、Golang、Javascript、Rust等编程语言
Quick Start!
Choose a language to get started.
Java
Python
Golang
JavaScript
Rust
More
1import java.util.List;
2import java.util.Arrays;
3import org.apache.fury.*;
4
5public class Example {
6 // Note that Fury instances should be reused between
7 // multiple serializations of different objects.
8 static ThreadSafeFury fury = Fury.builder().withLanguage(Language.JAVA)
9 // Allow to deserialize objects unknown types,
10 // more flexible but less secure.
11 // .withSecureMode(false)
12 .buildThreadSafeFury();
13
14 static {
15 // Registering types can reduce class name serialization
16 // overhead but not mandatory.
17 // If secure mode enabled
18 //all custom types must be registered.
19 fury.register(SomeClass.class);
20 }
21
22 public static void main(String[] args) {
23 SomeClass object = new SomeClass();
24 byte[] bytes = fury.serialize(object);
25 System.out.println(fury.deserialize(bytes));
26 }
27}
28