chaokunyang commented on code in PR #176: URL: https://github.com/apache/fury-site/pull/176#discussion_r1738562882
########## i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/introduction.md: ########## @@ -0,0 +1,58 @@ +--- +id: introduction +title: Apache Fury 介绍 +sidebar_position: 1 +--- + +Fury 是一个由 JIT(即时编译)和零拷贝提供支持的快速多语言序列化框架。 + +## 协议 + +不同的场景有不同的序列化要求。Apache Fury 为这些需求设计并编写了多个二进制协议: + +- 跨语言对象图协议: + - 跨语言自动序列化任何对象,无需 IDL 定义、架构编译和对象到/从协议转换; + - 支持共享引用和循环引用,无重复数据或递归错误; + - 支持对象多态性。 +- 原生 java/python 对象图协议:基于语言的类型系统进行高度优化; +- 行格式协议:缓存友好的二进制随机访问格式,支持跳过序列化和部分序列化,并且可以自动转换为列格式。 + +基于 fury 现有的 buffer、encoding、meta、codegen 和其他功能,可以轻松添加新协议。所有这些协议都共享相同的代码库,并且一个协议的优化可以被另一个协议重用。 + +## 兼容性 + +### 架构兼容性 + +Apache Fury java 对象图序列化支持类架构向前/向后兼容。序列化 Peer 节点和反序列化 Peer 节点可以独立添加/删除字段。 + +我们计划在[元压缩](https://github.com/apache/fury/issues/203)完成后支持跨语言序列化。 + +### 二进制兼容性 + +我们仍在改进我们的协议,目前无法确保 fury 版本之间的二进制兼容性。如果您将来要升级 fury,请 `shade` fury。 + +在 fury 1.0 之前将确保二进制兼容性。 + +## 安全 + +静态序列化(如行格式)本质上是安全的。但动态对象图序列化支持反序列化未注册的类型,这可能会带来安全风险。 + +例如:反序列化可能会调用 `init` constructor 或 `equals`/ `hashCode` 方法,如果方法体中包含恶意代码,系统将处于危险之中。 + +Apache Fury 提供了一个类注册模式选项,并且默认为此协议启用,它允许反序列化受信任的注册类型或内置类型,但仅用于安全。 + +Apache Fury 提供了一个类注册选项,并默认为此类协议启用,它只允许反序列化受信任的注册类型或内置类型。**不要禁用类注册或类注册检查,除非您可以确保您的环境确实是安全的**。如果您禁用了 class 注册选项,我们概不负责安全。 + +## 路线图 + +- 元压缩、自动元共享和跨语言架构兼容性; +- 用于 c++/golang 的 AOT 框架,用于静态生成代码; +- C++/Rust 对象图序列化支持; +- Golang/Rust/NodeJS 行格式支持; +- ProtoBuffer 兼容性支持; +- 特征和知识图谱序列化的协议; Review Comment: ```suggestion - 特征和模型序列化协议; ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
