This is an automated email from the ASF dual-hosted git repository.

hefengen pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/shenyu-website.git


The following commit(s) were added to refs/heads/main by this push:
     new 11182f2c21 [DOC] add wasm design doc (#923)
11182f2c21 is described below

commit 11182f2c214511be32f9311f5d9b513d3d0d0adf
Author: dragon-zhang <[email protected]>
AuthorDate: Sat Jul 1 20:59:20 2023 +0800

    [DOC] add wasm design doc (#923)
---
 docs/design/wasm-plugin-design.md                  |  25 +++++++++++++++++++++
 .../current/design/wasm-plugin-design.md           |  25 +++++++++++++++++++++
 .../img/shenyu/plugin/wasm/wasm-plugin-develop.png | Bin 0 -> 41705 bytes
 .../img/shenyu/plugin/wasm/wasm-plugin-prepare.png | Bin 0 -> 31746 bytes
 .../img/shenyu/plugin/wasm/wasm-plugin-runtime.png | Bin 0 -> 37412 bytes
 5 files changed, 50 insertions(+)

diff --git a/docs/design/wasm-plugin-design.md 
b/docs/design/wasm-plugin-design.md
new file mode 100644
index 0000000000..60f9eff0dc
--- /dev/null
+++ b/docs/design/wasm-plugin-design.md
@@ -0,0 +1,25 @@
+---
+title: WASM plugin design
+keywords: ["WASM"]
+description:  Apache ShenYu WASM plugin design
+---
+
+`Apache ShenYu` is a Java native API Gateway for service proxy, protocol 
conversion and API governance. Currently, ShenYu has good scalability in the 
Java language. However, ShenYu's support for multiple languages is still 
relatively weak.
+
+`WASM`(WebAssembly) bytecode is designed to be encoded in a size- and 
load-time-efficient binary format. WebAssembly aims to leverage the common 
hardware features available on various platforms to execute in browsers at 
machine code speed.
+
+`WASI`(WebAssembly System Interface) allows WASM to run in non browser 
environments such as Linux.
+
+The goal of `WASMPlugin` is to be able to run WASM bytecode. Other languages, 
as long as their code can be compiled into WASM bytecode (such as 
Rust/golang/C++), can be used to write ShenYu plugins.
+
+## Develop Phase
+
+<img src="/img/shenyu/plugin/wasm/wasm-plugin-develop.png" />
+
+## Prepare Phase
+
+<img src="/img/shenyu/plugin/wasm/wasm-plugin-prepare.png" />
+
+## Runtime Phase
+
+<img src="/img/shenyu/plugin/wasm/wasm-plugin-runtime.png" />
diff --git 
a/i18n/zh/docusaurus-plugin-content-docs/current/design/wasm-plugin-design.md 
b/i18n/zh/docusaurus-plugin-content-docs/current/design/wasm-plugin-design.md
new file mode 100644
index 0000000000..d7da73ed68
--- /dev/null
+++ 
b/i18n/zh/docusaurus-plugin-content-docs/current/design/wasm-plugin-design.md
@@ -0,0 +1,25 @@
+---
+title: WASM插件设计
+keywords: ["WASM"]
+description:  Apache ShenYu WASM插件设计
+---
+
+`Apache 
ShenYu`是一个Java原生,用于服务代理、协议转换和API管理的API网关。目前shenyu在Java语言中具有良好的可扩展性,然而shenyu对多种语言的支持仍然相对较弱。
+
+`WASM`(即WebAssembly)字节码被设计为以大小和加载时间高效的二进制格式进行编码。WebAssembly旨在利用各种平台上可用的通用硬件功能,以机器码的速度在浏览器中执行。
+
+`WASI`(即WebAssembly System Interface)则是让WASM可以运行在非浏览器环境中(比如linux)。
+
+`WASMPlugin`的目标是能够运行WASM字节码。其他语言,只要这种语言的代码能被编译成WASM字节码(如Rust/golang/C++),那么这种语言就可以用来编写ShenYu插件。
+
+## 开发阶段
+
+<img src="/img/shenyu/plugin/wasm/wasm-plugin-develop.png" />
+
+## 准备阶段
+
+<img src="/img/shenyu/plugin/wasm/wasm-plugin-prepare.png" />
+
+## 运行阶段
+
+<img src="/img/shenyu/plugin/wasm/wasm-plugin-runtime.png" />
diff --git a/static/img/shenyu/plugin/wasm/wasm-plugin-develop.png 
b/static/img/shenyu/plugin/wasm/wasm-plugin-develop.png
new file mode 100644
index 0000000000..be130918fa
Binary files /dev/null and 
b/static/img/shenyu/plugin/wasm/wasm-plugin-develop.png differ
diff --git a/static/img/shenyu/plugin/wasm/wasm-plugin-prepare.png 
b/static/img/shenyu/plugin/wasm/wasm-plugin-prepare.png
new file mode 100644
index 0000000000..e88036a52d
Binary files /dev/null and 
b/static/img/shenyu/plugin/wasm/wasm-plugin-prepare.png differ
diff --git a/static/img/shenyu/plugin/wasm/wasm-plugin-runtime.png 
b/static/img/shenyu/plugin/wasm/wasm-plugin-runtime.png
new file mode 100644
index 0000000000..1123fa3631
Binary files /dev/null and 
b/static/img/shenyu/plugin/wasm/wasm-plugin-runtime.png differ

Reply via email to