跳到主要内容

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));
  }
}