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