跳到主要内容

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 logoJava
Python logoPython
Golang logoGolang
JavaScript logoJavaScript
Rust logoRust
More languagesMore
programming-coding
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