You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shenyu.apache.org by li...@apache.org on 2025/05/03 14:14:59 UTC

(shenyu-website) branch 2.7.0.1-release created (now 9e5c5edb5d)

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

liuhongyu pushed a change to branch 2.7.0.1-release
in repository https://gitbox.apache.org/repos/asf/shenyu-website.git


      at 9e5c5edb5d [release] 2.7.0.1 release website

This branch includes the following new commits:

     new 9e5c5edb5d [release] 2.7.0.1 release website

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(shenyu-website) 01/01: [release] 2.7.0.1 release website

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 9e5c5edb5d7e1630ec13f458dfb725efaf005a66
Author: liuhy <li...@apache.org>
AuthorDate: Sat May 3 22:14:30 2025 +0800

    [release] 2.7.0.1 release website
---
 event/2.7.0.1-release.md                           |  93 +++
 .../Apache-ShenYu-release-version-2.7.0.1.md       | 111 +++
 .../current/2.7.0.1-release.md                     |  80 ++
 news/Apache-ShenYu-release-version-2.7.0.1.md      | 113 +++
 src/components/DownloadCompoent.tsx                |   8 +
 src/data/docsInfo.js                               |   3 +-
 src/data/event.js                                  |   6 +
 src/data/newsInfo.js                               |   9 +
 .../version-2.7.0.1/benchmark-test/_category_.json |   4 +
 .../benchmark-test/benchmark-test.md               | 300 +++++++
 .../version-2.7.0.1/deployment/_category_.json     |   4 +
 .../deployment/deployment-aapanel.md               |  50 ++
 .../deployment/deployment-before.md                |  56 ++
 .../deployment/deployment-cluster.md               | 246 ++++++
 .../deployment/deployment-custom.md                |  66 ++
 .../deployment/deployment-docker-compose.md        |  39 +
 .../deployment/deployment-docker.md                | 113 +++
 .../version-2.7.0.1/deployment/deployment-helm.md  |  10 +
 .../version-2.7.0.1/deployment/deployment-k8s.md   | 863 +++++++++++++++++++++
 .../version-2.7.0.1/deployment/deployment-local.md |  52 ++
 .../deployment/deployment-package.md               |  81 ++
 .../version-2.7.0.1/deployment/deployment-quick.md | 109 +++
 .../version-2.7.0.1/design/_category_.json         |   4 +
 versioned_docs/version-2.7.0.1/design/data-sync.md | 121 +++
 .../version-2.7.0.1/design/database-design.md      |  95 +++
 .../version-2.7.0.1/design/flow-control.md         |  36 +
 .../design/register-center-design.md               |  61 ++
 .../version-2.7.0.1/design/spi-design.md           |  49 ++
 .../version-2.7.0.1/design/wasm-plugin-design.md   |  25 +
 .../version-2.7.0.1/developer/_category_.json      |   4 +
 .../version-2.7.0.1/developer/custom-filter.md     | 109 +++
 .../developer/custom-jwt-covert-algorithm.md       |  92 +++
 .../developer/custom-parsing-ip-and-host.md        |  51 ++
 .../version-2.7.0.1/developer/custom-plugin.md     | 487 ++++++++++++
 .../version-2.7.0.1/developer/custom-result.md     | 115 +++
 .../developer/custom-sign-algorithm.md             |  58 ++
 .../developer/developer-shenyu-client.md           | 185 +++++
 .../version-2.7.0.1/developer/file-and-image.md    |  19 +
 .../version-2.7.0.1/developer/integration-test.md  |  38 +
 .../version-2.7.0.1/developer/local-model.md       | 552 +++++++++++++
 .../version-2.7.0.1/developer/notice-alert.md      |  83 ++
 .../version-2.7.0.1/developer/shenyu-optimize.md   |  44 ++
 .../version-2.7.0.1/developer/spi/_category_.json  |   4 +
 .../developer/spi/custom-load-balance.md           |  65 ++
 .../developer/spi/custom-match-mode.md             |  72 ++
 .../developer/spi/custom-metrics-monitor.md        |  63 ++
 .../developer/spi/custom-mock-generator.md         |  77 ++
 .../developer/spi/custom-parameter-data.md         |  71 ++
 .../developer/spi/custom-predicate-judge.md        | 121 +++
 .../developer/spi/custom-rate-limiter.md           | 104 +++
 .../version-2.7.0.1/developer/thread-model.md      |  30 +
 versioned_docs/version-2.7.0.1/index.md            | 179 +++++
 .../version-2.7.0.1/plugin-center/_category_.json  |   4 +
 .../plugin-center/cache/_category_.json            |   4 +
 .../plugin-center/cache/cache-plugin.md            | 152 ++++
 .../plugin-center/common/_category_.json           |   4 +
 .../plugin-center/common/general-context-plugin.md |  36 +
 .../plugin-center/fault-tolerance/_category_.json  |   4 +
 .../fault-tolerance/hystrix-plugin.md              | 144 ++++
 .../fault-tolerance/rate-limiter-plugin.md         | 193 +++++
 .../fault-tolerance/resilience4j-plugin.md         |  81 ++
 .../fault-tolerance/sentinel-plugin.md             | 215 +++++
 .../plugin-center/http-process/_category_.json     |   4 +
 .../http-process/contextpath-plugin.md             | 153 ++++
 .../http-process/modifyresponse-plugin.md          | 146 ++++
 .../http-process/parammapping-plugin.md            | 109 +++
 .../plugin-center/http-process/redirect-plugin.md  |  94 +++
 .../plugin-center/http-process/request-plugin.md   |  91 +++
 .../plugin-center/http-process/rewrite-plugin.md   | 105 +++
 .../plugin-center/mock/_category_.json             |   4 +
 .../plugin-center/mock/mock-plugin.md              | 178 +++++
 .../plugin-center/observability/_category_.json    |   4 +
 .../observability/logging-aliyun-sls.md            | 139 ++++
 .../observability/logging-elasticsearch.md         | 183 +++++
 .../observability/logging-huawei-lts.md            | 172 ++++
 .../plugin-center/observability/logging-kafka.md   | 162 ++++
 .../plugin-center/observability/logging-plugin.md  | 117 +++
 .../plugin-center/observability/logging-pulsar.md  | 162 ++++
 .../observability/logging-rabbitmq.md              | 181 +++++
 .../observability/logging-rocketmq.md              | 173 +++++
 .../observability/logging-tencent-cls.md           | 143 ++++
 .../plugin-center/observability/metrics-plugin.md  | 245 ++++++
 .../plugin-center/proxy/_category_.json            |   4 +
 .../plugin-center/proxy/divide-plugin.md           | 145 ++++
 .../plugin-center/proxy/dubbo-plugin.md            | 137 ++++
 .../plugin-center/proxy/grpc-plugin.md             |  81 ++
 .../plugin-center/proxy/motan-plugin.md            |  68 ++
 .../plugin-center/proxy/mqtt-plugin.md             |  46 ++
 .../plugin-center/proxy/sofa-plugin.md             | 213 +++++
 .../plugin-center/proxy/spring-cloud-plugin.md     | 317 ++++++++
 .../plugin-center/proxy/tars-plugin.md             | 170 ++++
 .../plugin-center/proxy/tcp-plugin.md              | 156 ++++
 .../plugin-center/proxy/websocket-plugin.md        | 277 +++++++
 .../plugin-center/security/_category_.json         |   4 +
 .../plugin-center/security/casdoor.md              |  70 ++
 .../security/cryptor-request-plugin.md             |  62 ++
 .../security/cryptor-response-plugin.md            |  65 ++
 .../plugin-center/security/jwt-plugin.md           | 156 ++++
 .../plugin-center/security/oauth2-plugin.md        |  54 ++
 .../plugin-center/security/sign-plugin.md          | 501 ++++++++++++
 .../plugin-center/security/waf-plugin.md           |  76 ++
 .../version-2.7.0.1/quick-start/_category_.json    |   4 +
 .../quick-start/quick-start-dubbo.md               | 180 +++++
 .../quick-start/quick-start-grpc.md                | 169 ++++
 .../quick-start/quick-start-http.md                |  80 ++
 .../quick-start/quick-start-motan.md               |  97 +++
 .../quick-start/quick-start-sofa.md                | 138 ++++
 .../quick-start/quick-start-springcloud.md         | 195 +++++
 .../quick-start/quick-start-tars.md                | 118 +++
 .../quick-start/quick-start-websocket.md           | 152 ++++
 .../version-2.7.0.1/user-guide/_category_.json     |   4 +
 .../user-guide/admin-usage/_category_.json         |   4 +
 .../user-guide/admin-usage/api-document.md         |  86 ++
 .../user-guide/admin-usage/data-permission.md      |  53 ++
 .../admin-usage/dictionary-management.md           |  32 +
 .../user-guide/admin-usage/namepsace.md            |  73 ++
 .../admin-usage/plugin-handle-explanation.md       |  51 ++
 .../user-guide/admin-usage/role-management.md      |  45 ++
 .../user-guide/admin-usage/selector-and-rule.md    | 346 +++++++++
 .../user-guide/api-doc/_category_.json             |   4 +
 .../user-guide/api-doc/shenyu-annotation-apidoc.md |  38 +
 .../user-guide/api-doc/swagger-apidoc.md           |  57 ++
 .../user-guide/discovery/_category_.json           |   4 +
 .../user-guide/discovery/discovery-mode.md         | 422 ++++++++++
 .../kubernetes-controller/_category_.json          |   4 +
 .../kubernetes-controller/build-deploy.md          | 120 +++
 .../user-guide/kubernetes-controller/config.md     | 115 +++
 .../user-guide/property-config/_category_.json     |   4 +
 .../property-config/admin-property-config.md       | 270 +++++++
 .../property-config/client-property-config.md      | 106 +++
 .../property-config/gateway-property-config.md     | 634 +++++++++++++++
 .../property-config/register-center-access.md      | 109 +++
 .../property-config/register-center-instance.md    |  72 ++
 .../user-guide/property-config/ssl.md              |  28 +
 .../user-guide/property-config/use-data-sync.md    | 378 +++++++++
 .../user-guide/proxy/_category_.json               |   4 +
 .../user-guide/proxy/dubbo-proxy.md                | 437 +++++++++++
 .../version-2.7.0.1/user-guide/proxy/grpc-proxy.md | 197 +++++
 .../version-2.7.0.1/user-guide/proxy/http-proxy.md | 262 +++++++
 .../user-guide/proxy/motan-proxy.md                | 107 +++
 .../user-guide/proxy/sofa-rpc-proxy.md             | 187 +++++
 .../user-guide/proxy/spring-cloud-proxy.md         | 300 +++++++
 .../version-2.7.0.1/user-guide/proxy/tars-proxy.md |  98 +++
 .../user-guide/proxy/websocket-proxy.md            |  89 +++
 .../user-guide/sdk-usage/_category_.json           |   4 +
 .../user-guide/sdk-usage/shenyu-sdk-consul.md      | 204 +++++
 .../user-guide/sdk-usage/shenyu-sdk-etcd.md        | 184 +++++
 .../user-guide/sdk-usage/shenyu-sdk-eureka.md      | 184 +++++
 .../user-guide/sdk-usage/shenyu-sdk-feign.md       | 130 ++++
 .../user-guide/sdk-usage/shenyu-sdk-nacos.md       | 185 +++++
 .../user-guide/sdk-usage/shenyu-sdk-zookeeper.md   | 179 +++++
 versioned_sidebars/version-2.7.0.1-sidebars.json   |   8 +
 versions.json                                      |   1 +
 153 files changed, 18385 insertions(+), 1 deletion(-)

diff --git a/event/2.7.0.1-release.md b/event/2.7.0.1-release.md
new file mode 100644
index 0000000000..225ca2d522
--- /dev/null
+++ b/event/2.7.0.1-release.md
@@ -0,0 +1,93 @@
+---
+title: 2.7.0.1
+sidebar_position: 2
+keywords: ["release-notes"]
+description: release-notes
+---
+
+## 2.7.0.1
+
+## What's Changed
+* fixed some bug when using http-polling mode by @xesprni in https://github.com/apache/shenyu/pull/5889
+* [type:refactor] plugin-jwt SPI extension for parsing JWT payloads to ensure compatibility with older versions of JWT tools by @ISKonst in https://github.com/apache/shenyu/pull/5882
+* [type:fix] support dubbo method configure by @eye-gu in https://github.com/apache/shenyu/pull/5891
+* [type:release] release 2.7.0 by @Aias00 in https://github.com/apache/shenyu/pull/5892
+* [type:refactor]Add test case for RestTemplateConfiguration by @po-168 in https://github.com/apache/shenyu/pull/5894
+* [type:refactor]Add test case for ShenyuControllerEndpoint by @po-168 in https://github.com/apache/shenyu/pull/5898
+* [type:refactor] Optimize code for shenyu-sync-data by @po-168 in https://github.com/apache/shenyu/pull/5872
+* [type:refactor] Optimize code for shenyu-registry by @po-168 in https://github.com/apache/shenyu/pull/5876
+* [type:refactor] Optimize code for shenyu-register-common by @po-168 in https://github.com/apache/shenyu/pull/5875
+* [type:refactor]Add test case for CollapseSlashesFilter by @po-168 in https://github.com/apache/shenyu/pull/5904
+* [type:optimize] Optimize BodyParamUtils with Caffeine cache by @g0ne150 in https://github.com/apache/shenyu/pull/5905
+* [type:fix] remove duplicate entry '1792749362445840479' for key resource.PRIMARY from resource table  by @cntigers in https://github.com/apache/shenyu/pull/5908
+* Revert "[type:fix] remove duplicate entry '1792749362445840479' for key resource.PRIMARY from resource table " by @moremind in https://github.com/apache/shenyu/pull/5910
+* [type:refactor]Add test case for ShenyuPluginClassLoaderHolder by @po-168 in https://github.com/apache/shenyu/pull/5909
+* [type:fix]fix namespace delete error by @liyabing12138 in https://github.com/apache/shenyu/pull/5916
+* [type:fix] remove duplicate entry '1792749362445840479' for key resource.PRIMARY from resource table apache#5895 by @cntigers in https://github.com/apache/shenyu/pull/5911
+* fixed RateLimiter remoteAddress issues Please reply #5340. by @wlngo in https://github.com/apache/shenyu/pull/5504
+* [type:refactor] Optimize code for shenyu-kubernetes-controller by @po-168 in https://github.com/apache/shenyu/pull/5877
+* upgrede upload/dowmload-artifact version v3 to v4 by @dyp314417995 in https://github.com/apache/shenyu/pull/5926
+* [type:feature] use checkstyle to avoid ==null check by @eye-gu in https://github.com/apache/shenyu/pull/5927
+* [Volunteer #5641] Improper word usage in Plugin Logging-Kafka configuration#namesrvAddr   by @deepPublicGit in https://github.com/apache/shenyu/pull/5918
+* [type:refactor] Optimize code for shenyu-spring-boot-starter by @po-168 in https://github.com/apache/shenyu/pull/5873
+* [type:fix] The rule cache can not be deleted in shenyu-bootstrap when use nacos as sync center by @Wweiei in https://github.com/apache/shenyu/pull/5929
+* perf(logging): Optimize the performance of log collection by @zongmingzhi in https://github.com/apache/shenyu/pull/5931
+* [type:fix]Fix upgrade sql by @xcsnx in https://github.com/apache/shenyu/pull/5932
+* [type:fix]fix 2.6.1 to 2.7.0 upgrade.sql by @xcsnx in https://github.com/apache/shenyu/pull/5933
+* [type:feature] support dubbo protobuf serialization by @eye-gu in https://github.com/apache/shenyu/pull/5903
+* [type:feat] add ai proxy plugin by @Aias00 in https://github.com/apache/shenyu/pull/5938
+* [type:fix] use wasm32-wasip1 target by @eye-gu in https://github.com/apache/shenyu/pull/5936
+* [type:feature] add ai proxy plugin sql by @Aias00 in https://github.com/apache/shenyu/pull/5939
+* [type:feat] add shenyu infra module by @moremind in https://github.com/apache/shenyu/pull/5941
+* [type:feat] ai proxy selector config by @Aias00 in https://github.com/apache/shenyu/pull/5942
+* [type:fix] set dubbo method config in reference by @eye-gu in https://github.com/apache/shenyu/pull/5944
+* [type:fix] fix h2 database wrong json by @eye-gu in https://github.com/apache/shenyu/pull/5948
+* [type:feature] parse return type when build api doc by @eye-gu in https://github.com/apache/shenyu/pull/5946
+* [type:feat] add Logging-Kafka Plugin e2e and make independent of Logging-rocketmq e2e by @jakiuncle in https://github.com/apache/shenyu/pull/5709
+* [refactor] ai proxy plugin refactor by @Aias00 in https://github.com/apache/shenyu/pull/5952
+* [fix] fix logging gzip messy by @Aias00 in https://github.com/apache/shenyu/pull/5955
+* [feat] add jdbc properties by @Aias00 in https://github.com/apache/shenyu/pull/5951
+* [fix] fix upload jar checkfile by @Aias00 in https://github.com/apache/shenyu/pull/5958
+* [type:refactor] remove springcloud plugin and refactor discovery plugin. by @yunlongn in https://github.com/apache/shenyu/pull/5812
+* [type:fix] fix 2.6.1 shenyu-client register failed by @Wweiei in https://github.com/apache/shenyu/pull/5960
+* Configuring gitpod with java by @kerwin612 in https://github.com/apache/shenyu/pull/5957
+* [type:feat] ai token limiter plugin by @Aias00 in https://github.com/apache/shenyu/pull/5956
+* [fix] fix upgrade sql bug by @Aias00 in https://github.com/apache/shenyu/pull/5963
+* [type:fix]fix delete namespace  by @xcsnx in https://github.com/apache/shenyu/pull/5964
+* [fix] fix heartbeat logic by @Aias00 in https://github.com/apache/shenyu/pull/5970
+* [type:feat] add ai prompt plugin by @Aias00 in https://github.com/apache/shenyu/pull/5962
+* [refactor] refactor create user default ns rel by @Aias00 in https://github.com/apache/shenyu/pull/5975
+* [type:refactor] Optimize code for assert keyword #5967 by @yqw570994511 in https://github.com/apache/shenyu/pull/5968
+* [type:fix] fix(plugin-base): avoid NPE in MetaDataCache cache by @yqw570994511 in https://github.com/apache/shenyu/pull/5985
+* fix(logging-clickhouse): avoid unnecessary config refresh when clickhouse config unchanged. by @yqw570994511 in https://github.com/apache/shenyu/pull/5984
+* [type:bugfix]Add more retry strategies by @JerryDtj in https://github.com/apache/shenyu/pull/5969
+* [ci] upgrade codeql version for ci error by @Aias00 in https://github.com/apache/shenyu/pull/5994
+* [type:fix] fix(admin): Ensure data consistency by adding @Transactional by @yqw570994511 in https://github.com/apache/shenyu/pull/5992
+* Added cache MD5 judgment by @JerryDtj in https://github.com/apache/shenyu/pull/5995
+* [type:fix] (admin-appAuth): Fix path validation logic defects by @yqw570994511 in https://github.com/apache/shenyu/pull/5993
+* [type:fix] fix(admin): Fix dirty data issue caused by cache deletion order in AlertDispatchServiceImpl. by @yqw570994511 in https://github.com/apache/shenyu/pull/5991
+* [fix] fix ai plugin sql by @Aias00 in https://github.com/apache/shenyu/pull/5990
+* fix admin:import comfig error. by @478320 in https://github.com/apache/shenyu/pull/5997
+* [type:fix] (logging-elasticsearch): Fixed the issue where Elasticsearch log configuration was not refreshed correctly after modification. by @yqw570994511 in https://github.com/apache/shenyu/pull/6004
+* [fix] fix ci by @Aias00 in https://github.com/apache/shenyu/pull/5998
+* [type:fix] (logging-tencent): Fixed the issue where Tencent log configuration was not refreshed correctly after modification. by @yqw570994511 in https://github.com/apache/shenyu/pull/6002
+* [type:fix] (logging-aliyun): Fixed the issue where Aliyun log configuration was not refreshed correctly after modification. by @yqw570994511 in https://github.com/apache/shenyu/pull/6000
+* [feat] Supports generating Elasticsearch indices daily and creating an alias for them. by @Aias00 in https://github.com/apache/shenyu/pull/5977
+* [refactor] refactor ai plugins by @Aias00 in https://github.com/apache/shenyu/pull/5986
+* [fix] fix http check by @Aias00 in https://github.com/apache/shenyu/pull/5989
+* [fix] fix java doc by @Aias00 in https://github.com/apache/shenyu/pull/6008
+* [type:refactor] refactor ai plugin by @moremind in https://github.com/apache/shenyu/pull/6010
+* [fix] fix license by @Aias00 in https://github.com/apache/shenyu/pull/6011
+* [release] modify pom version to 2.7.0.1-SNAPSHOT by @Aias00 in https://github.com/apache/shenyu/pull/6012
+
+## New Contributors
+* @xesprni made their first contribution in https://github.com/apache/shenyu/pull/5889
+* @g0ne150 made their first contribution in https://github.com/apache/shenyu/pull/5905
+* @cntigers made their first contribution in https://github.com/apache/shenyu/pull/5908
+* @liyabing12138 made their first contribution in https://github.com/apache/shenyu/pull/5916
+* @deepPublicGit made their first contribution in https://github.com/apache/shenyu/pull/5918
+* @zongmingzhi made their first contribution in https://github.com/apache/shenyu/pull/5931
+* @yqw570994511 made their first contribution in https://github.com/apache/shenyu/pull/5968
+* @JerryDtj made their first contribution in https://github.com/apache/shenyu/pull/5969
+
+**Full Changelog**: https://github.com/apache/shenyu/compare/v2.7.0...v2.7.0.1
\ No newline at end of file
diff --git a/i18n/zh/docusaurus-plugin-content-blog-news/Apache-ShenYu-release-version-2.7.0.1.md b/i18n/zh/docusaurus-plugin-content-blog-news/Apache-ShenYu-release-version-2.7.0.1.md
new file mode 100644
index 0000000000..f8d71a5100
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-blog-news/Apache-ShenYu-release-version-2.7.0.1.md
@@ -0,0 +1,111 @@
+---
+title: "【Apache ShenYu 2.7.0.1 版本发布】"
+description: "Apache ShenYu 2.7.0.1 版本发布"
+categories: "Apache ShenYu"
+tags: ["Apache ShenYu"]
+date: 2025-05-03
+---
+
+## 关于Apache ShenYu
+
+`Apache ShenYu` 一款使用 `Java Reactor` 开发的响应式`API` 网关。以其高性能,动态灵活的流量管控,热插拔,易部署等特性,开箱即用为用户提供整套全生命周期的 `API`网关,包含 `API`注册、服务代理、协议转换、`API`文档与 `API`治理等功能。Apache ShenYu于`2022年7月`毕业成为`Apache`顶级项目。
+
+> 官网: https://shenyu.apache.org
+> GitHub: https://github.com/apache/shenyu
+
+## 版本预览
+
+时隔一年,`Apache ShenYu`发布了2.7.0.1版本,该版本共计提交了`72+个 Pull Request`,新增约`17+个新特性`,新增了若干增强,重构了若干功能,并且修复了若干个bug。共计`32位`贡献者参与其中,累计贡献者达403+位。
+
+> 版本记录:https://github.com/apache/shenyu/compare/v2.7.0...v2.7.0.1
+
+## What's Changed
+* 修复了使用 http-polling 模式时的一些 bug by @xesprni in https://github.com/apache/shenyu/pull/5889
+* [type:refactor] 通过 plugin-jwt SPI 扩展解析 JWT payloads 以确保与旧版本 JWT 工具的兼容性 by @ISKonst in https://github.com/apache/shenyu/pull/5882
+* [type:fix] 支持 dubbo 方法配置 by @eye-gu in https://github.com/apache/shenyu/pull/5891
+* [type:release] 发布 2.7.0 by @Aias00 in https://github.com/apache/shenyu/pull/5892
+* [type:refactor] 添加 RestTemplateConfiguration 的测试用例 by @po-168 in https://github.com/apache/shenyu/pull/5894
+* [type:refactor] 添加 ShenyuControllerEndpoint 的测试用例 by @po-168 in https://github.com/apache/shenyu/pull/5898
+* [type:refactor] 优化 shenyu-sync-data 的代码 by @po-168 in https://github.com/apache/shenyu/pull/5872
+* [type:refactor] 优化 shenyu-registry 的代码 by @po-168 in https://github.com/apache/shenyu/pull/5876
+* [type:refactor] 优化 shenyu-register-common 的代码 by @po-168 in https://github.com/apache/shenyu/pull/5875
+* [type:refactor] 添加 CollapseSlashesFilter 的测试用例 by @po-168 in https://github.com/apache/shenyu/pull/5904
+* [type:optimize] 优化 BodyParamUtils 的代码 by @g0ne150 in https://github.com/apache/shenyu/pull/5905
+* [type:fix] 移除重复的 entry '1792749362445840479' for key resource.PRIMARY from resource table  by @cntigers in https://github.com/apache/shenyu/pull/5908
+* [type:refactor] 添加 ShenyuPluginClassLoaderHolder 的测试用例 by @po-168 in https://github.com/apache/shenyu/pull/5909
+* [type:fix] 修复 namespace 删除错误 by @liyabing12138 in https://github.com/apache/shenyu/pull/5916
+* [type:fix] 移除重复的 entry '1792749362445840479' for key resource.PRIMARY from resource table apache#5895 by @cntigers in https://github.com/apache/shenyu/pull/5911
+* fixed RateLimiter remoteAddress issues Please reply #5340. by @wlngo in https://github.com/apache/shenyu/pull/5504
+* [type:refactor] 优化 shenyu-kubernetes-controller 的代码 by @po-168 in https://github.com/apache/shenyu/pull/5877
+* upgrede upload/dowmload-artifact version v3 to v4 by @dyp314417995 in https://github.com/apache/shenyu/pull/5926
+* [type:feature] 使用 checkstyle 避免 ==null 检查 by @eye-gu in https://github.com/apache/shenyu/pull/5927
+* [Volunteer #5641] 在 Plugin Logging-Kafka configuration#namesrvAddr 中使用不当的单词 by @deepPublicGit in https://github.com/apache/shenyu/pull/5918
+* [type:refactor] 优化 shenyu-spring-boot-starter 的代码 by @po-168 in https://github.com/apache/shenyu/pull/5873
+* [type:fix] 在 use nacos 作为同步中心时,rule cache 不能被删除 by @Wweiei in https://github.com/apache/shenyu/pull/5929
+* [type:fix] 优化日志收集的性能 by @zongmingzhi in https://github.com/apache/shenyu/pull/5931
+* [type:fix] 修复升级 sql 错误 by @xcsnx in https://github.com/apache/shenyu/pull/5932
+* [type:fix] 修复 2.6.1 到 2.7.0 的升级 sql 错误 by @xcsnx in https://github.com/apache/shenyu/pull/5933
+* [type:feature] 支持 dubbo protobuf 序列化 by @eye-gu in https://github.com/apache/shenyu/pull/5903
+* [type:feat] 添加 ai proxy plugin by @Aias00 in https://github.com/apache/shenyu/pull/5938
+* [type:fix] 使用 wasm32-wasip1 target by @eye-gu in https://github.com/apache/shenyu/pull/5936
+* [type:feature] 添加 ai proxy plugin sql by @Aias00 in https://github.com/apache/shenyu/pull/5939
+* [type:feat] 添加 shenyu infra module by @moremind in https://github.com/apache/shenyu/pull/5941
+* [type:feat] ai proxy selector config by @Aias00 in https://github.com/apache/shenyu/pull/5942
+* [type:fix] 在 reference 中设置 dubbo 方法配置 by @eye-gu in https://github.com/apache/shenyu/pull/5944
+* [type:fix] 修复 h2 database wrong json 错误 by @eye-gu in https://github.com/apache/shenyu/pull/5948
+* [type:feature] 解析返回类型构建 api doc by @eye-gu in https://github.com/apache/shenyu/pull/5946
+* [type:feat] 添加 Logging-Kafka Plugin e2e 并使其独立于 Logging-rocketmq e2e by @jakiuncle in https://github.com/apache/shenyu/pull/5709
+* [refactor] ai proxy plugin refactor by @Aias00 in https://github.com/apache/shenyu/pull/5952
+* [fix] 修复 logging gzip 混乱错误 by @Aias00 in https://github.com/apache/shenyu/pull/5955
+* [feat] 添加 jdbc properties by @Aias00 in https://github.com/apache/shenyu/pull/5951
+* [fix] 修复 upload jar checkfile 错误 by @Aias00 in https://github.com/apache/shenyu/pull/5958
+* [type:refactor] 移除 springcloud plugin 并重构 discovery plugin. by @yunlongn in https://github.com/apache/shenyu/pull/5812
+* [type:fix] 修复 2.6.1 shenyu-client register failed 错误 by @Wweiei in https://github.com/apache/shenyu/pull/5960
+* Configuring gitpod with java by @kerwin612 in https://github.com/apache/shenyu/pull/5957
+* [type:feat] 添加 ai token limiter plugin by @Aias00 in https://github.com/apache/shenyu/pull/5956
+* [fix] 修复升级 sql 错误 by @Aias00 in https://github.com/apache/shenyu/pull/5963
+* [type:fix] 修复 delete namespace 错误 by @xcsnx in https://github.com/apache/shenyu/pull/5964
+* [fix] 修复 heartbeat 逻辑错误 by @Aias00 in https://github.com/apache/shenyu/pull/5970
+* [type:feat] 添加 ai prompt plugin by @Aias00 in https://github.com/apache/shenyu/pull/5962
+* [refactor] 重构 create user default ns rel by @Aias00 in https://github.com/apache/shenyu/pull/5975
+* [type:refactor] 优化 assert 关键字代码 by @yqw570994511 in https://github.com/apache/shenyu/pull/5967
+* [type:fix] 修复 plugin-base 的 NPE 错误 by @yqw570994511 in https://github.com/apache/shenyu/pull/5985
+* [type:fix] 修复 logging-clickhouse 的 NPE 错误 by @yqw570994511 in https://github.com/apache/shenyu/pull/5984
+* [type:bugfix] 添加更多重试策略 by @JerryDtj in https://github.com/apache/shenyu/pull/5969
+* [ci] 升级 codeql 版本以修复 ci 错误 by @Aias00 in https://github.com/apache/shenyu/pull/5994
+* [type:fix] 修复 admin 的数据一致性问题 by @yqw570994511 in https://github.com/apache/shenyu/pull/5992
+* Added cache MD5 judgment by @JerryDtj in https://github.com/apache/shenyu/pull/5995
+* [type:fix] 修复 admin-appAuth 的路径验证逻辑缺陷 by @yqw570994511 in https://github.com/apache/shenyu/pull/5993
+* [type:fix] 修复 AlertDispatchServiceImpl 中的缓存删除顺序错误 by @yqw570994511 in https://github.com/apache/shenyu/pull/5991
+* [fix] 修复 ai plugin sql 错误 by @Aias00 in https://github.com/apache/shenyu/pull/5990
+* fix admin:import comfig error. by @478320 in https://github.com/apache/shenyu/pull/5997
+* [type:fix] 修复 logging-elasticsearch 的 NPE 错误 by @yqw570994511 in https://github.com/apache/shenyu/pull/6004
+* [fix] 修复 ci 错误 by @Aias00 in https://github.com/apache/shenyu/pull/5998
+* [type:fix] 修复 logging-tencent 的 NPE 错误 by @yqw570994511 in https://github.com/apache/shenyu/pull/6002
+* [type:fix] 修复 logging-aliyun 的 NPE 错误 by @yqw570994511 in https://github.com/apache/shenyu/pull/6000
+* [feat] 支持生成 Elasticsearch 索引每日并创建别名 by @Aias00 in https://github.com/apache/shenyu/pull/5977
+* [refactor] 重构 ai plugins by @Aias00 in https://github.com/apache/shenyu/pull/5986
+* [fix] 修复 http check 错误 by @Aias00 in https://github.com/apache/shenyu/pull/5989
+* [fix] 修复 java doc 错误 by @Aias00 in https://github.com/apache/shenyu/pull/6008
+* [type:refactor] 重构 ai plugin by @moremind in https://github.com/apache/shenyu/pull/6010
+* [fix] 修复 license 错误 by @Aias00 in https://github.com/apache/shenyu/pull/6011
+* [release] 修改 pom 版本为 2.7.0.1-SNAPSHOT by @Aias00 in https://github.com/apache/shenyu/pull/6012
+
+
+## New Contributors
+* @xesprni 在 https://github.com/apache/shenyu/pull/5889 中做出了他们的第一个贡献
+* @g0ne150 在 https://github.com/apache/shenyu/pull/5905 中做出了他们的第一个贡献
+* @cntigers 在 https://github.com/apache/shenyu/pull/5908 中做出了他们的第一个贡献
+* @liyabing12138 在 https://github.com/apache/shenyu/pull/5916 中做出了他们的第一个贡献
+* @deepPublicGit 在 https://github.com/apache/shenyu/pull/5918 中做出了他们的第一个贡献
+* @zongmingzhi 在 https://github.com/apache/shenyu/pull/5931 中做出了他们的第一个贡献
+* @yqw570994511 在 https://github.com/apache/shenyu/pull/5968 中做出了他们的第一个贡献
+* @JerryDtj 在 https://github.com/apache/shenyu/pull/5969 中做出了他们的第一个贡献
+
+## 成为贡献者
+
+我们欢迎每一位贡献者的加入ShenYu,欢迎贡献者以Apache Way的精神参与ShenYu!
+
+贡献者指南请参考:
+
+> https://shenyu.apache.org/zh/community/contributor-guide
diff --git a/i18n/zh/docusaurus-plugin-content-docs-event/current/2.7.0.1-release.md b/i18n/zh/docusaurus-plugin-content-docs-event/current/2.7.0.1-release.md
new file mode 100644
index 0000000000..0050956fdf
--- /dev/null
+++ b/i18n/zh/docusaurus-plugin-content-docs-event/current/2.7.0.1-release.md
@@ -0,0 +1,80 @@
+---
+title: 2.7.0.1
+sidebar_position: 3
+keywords: ["release-notes"]
+description: release-notes
+---
+
+## 2.7.0.1
+
+## What's Changed
+* 修复了使用 http-polling 模式时的一些 bug by @xesprni in https://github.com/apache/shenyu/pull/5889
+* [type:refactor] 通过 plugin-jwt SPI 扩展解析 JWT payloads 以确保与旧版本 JWT 工具的兼容性 by @ISKonst in https://github.com/apache/shenyu/pull/5882
+* [type:fix] 支持 dubbo 方法配置 by @eye-gu in https://github.com/apache/shenyu/pull/5891
+* [type:release] 发布 2.7.0 by @Aias00 in https://github.com/apache/shenyu/pull/5892
+* [type:refactor] 添加 RestTemplateConfiguration 的测试用例 by @po-168 in https://github.com/apache/shenyu/pull/5894
+* [type:refactor] 添加 ShenyuControllerEndpoint 的测试用例 by @po-168 in https://github.com/apache/shenyu/pull/5898
+* [type:refactor] 优化 shenyu-sync-data 的代码 by @po-168 in https://github.com/apache/shenyu/pull/5872
+* [type:refactor] 优化 shenyu-registry 的代码 by @po-168 in https://github.com/apache/shenyu/pull/5876
+* [type:refactor] 优化 shenyu-register-common 的代码 by @po-168 in https://github.com/apache/shenyu/pull/5875
+* [type:refactor] 添加 CollapseSlashesFilter 的测试用例 by @po-168 in https://github.com/apache/shenyu/pull/5904
+* [type:optimize] 优化 BodyParamUtils 的代码 by @g0ne150 in https://github.com/apache/shenyu/pull/5905
+* [type:fix] 移除重复的 entry '1792749362445840479' for key resource.PRIMARY from resource table  by @cntigers in https://github.com/apache/shenyu/pull/5908
+* [type:refactor] 添加 ShenyuPluginClassLoaderHolder 的测试用例 by @po-168 in https://github.com/apache/shenyu/pull/5909
+* [type:fix] 修复 namespace 删除错误 by @liyabing12138 in https://github.com/apache/shenyu/pull/5916
+* [type:fix] 移除重复的 entry '1792749362445840479' for key resource.PRIMARY from resource table apache#5895 by @cntigers in https://github.com/apache/shenyu/pull/5911
+* fixed RateLimiter remoteAddress issues Please reply #5340. by @wlngo in https://github.com/apache/shenyu/pull/5504
+* [type:refactor] 优化 shenyu-kubernetes-controller 的代码 by @po-168 in https://github.com/apache/shenyu/pull/5877
+* upgrede upload/dowmload-artifact version v3 to v4 by @dyp314417995 in https://github.com/apache/shenyu/pull/5926
+* [type:feature] 使用 checkstyle 避免 ==null 检查 by @eye-gu in https://github.com/apache/shenyu/pull/5927
+* [Volunteer #5641] 在 Plugin Logging-Kafka configuration#namesrvAddr 中使用不当的单词 by @deepPublicGit in https://github.com/apache/shenyu/pull/5918
+* [type:refactor] 优化 shenyu-spring-boot-starter 的代码 by @po-168 in https://github.com/apache/shenyu/pull/5873
+* [type:fix] 在 use nacos 作为同步中心时,rule cache 不能被删除 by @Wweiei in https://github.com/apache/shenyu/pull/5929
+* [type:fix] 优化日志收集的性能 by @zongmingzhi in https://github.com/apache/shenyu/pull/5931
+* [type:fix] 修复升级 sql 错误 by @xcsnx in https://github.com/apache/shenyu/pull/5932
+* [type:fix] 修复 2.6.1 到 2.7.0 的升级 sql 错误 by @xcsnx in https://github.com/apache/shenyu/pull/5933
+* [type:feature] 支持 dubbo protobuf 序列化 by @eye-gu in https://github.com/apache/shenyu/pull/5903
+* [type:feat] 添加 ai proxy plugin by @Aias00 in https://github.com/apache/shenyu/pull/5938
+* [type:fix] 使用 wasm32-wasip1 target by @eye-gu in https://github.com/apache/shenyu/pull/5936
+* [type:feature] 添加 ai proxy plugin sql by @Aias00 in https://github.com/apache/shenyu/pull/5939
+* [type:feat] 添加 shenyu infra module by @moremind in https://github.com/apache/shenyu/pull/5941
+* [type:feat] ai proxy selector config by @Aias00 in https://github.com/apache/shenyu/pull/5942
+* [type:fix] 在 reference 中设置 dubbo 方法配置 by @eye-gu in https://github.com/apache/shenyu/pull/5944
+* [type:fix] 修复 h2 database wrong json 错误 by @eye-gu in https://github.com/apache/shenyu/pull/5948
+* [type:feature] 解析返回类型构建 api doc by @eye-gu in https://github.com/apache/shenyu/pull/5946
+* [type:feat] 添加 Logging-Kafka Plugin e2e 并使其独立于 Logging-rocketmq e2e by @jakiuncle in https://github.com/apache/shenyu/pull/5709
+* [refactor] ai proxy plugin refactor by @Aias00 in https://github.com/apache/shenyu/pull/5952
+* [fix] 修复 logging gzip 混乱错误 by @Aias00 in https://github.com/apache/shenyu/pull/5955
+* [feat] 添加 jdbc properties by @Aias00 in https://github.com/apache/shenyu/pull/5951
+* [fix] 修复 upload jar checkfile 错误 by @Aias00 in https://github.com/apache/shenyu/pull/5958
+* [type:refactor] 移除 springcloud plugin 并重构 discovery plugin. by @yunlongn in https://github.com/apache/shenyu/pull/5812
+* [type:fix] 修复 2.6.1 shenyu-client register failed 错误 by @Wweiei in https://github.com/apache/shenyu/pull/5960
+* Configuring gitpod with java by @kerwin612 in https://github.com/apache/shenyu/pull/5957
+* [type:feat] 添加 ai token limiter plugin by @Aias00 in https://github.com/apache/shenyu/pull/5956
+* [fix] 修复升级 sql 错误 by @Aias00 in https://github.com/apache/shenyu/pull/5963
+* [type:fix] 修复 delete namespace 错误 by @xcsnx in https://github.com/apache/shenyu/pull/5964
+* [fix] 修复 heartbeat 逻辑错误 by @Aias00 in https://github.com/apache/shenyu/pull/5970
+* [type:feat] 添加 ai prompt plugin by @Aias00 in https://github.com/apache/shenyu/pull/5962
+* [refactor] 重构 create user default ns rel by @Aias00 in https://github.com/apache/shenyu/pull/5975
+* [type:refactor] 优化 assert 关键字代码 by @yqw570994511 in https://github.com/apache/shenyu/pull/5967
+* [type:fix] 修复 plugin-base 的 NPE 错误 by @yqw570994511 in https://github.com/apache/shenyu/pull/5985
+* [type:fix] 修复 logging-clickhouse 的 NPE 错误 by @yqw570994511 in https://github.com/apache/shenyu/pull/5984
+* [type:bugfix] 添加更多重试策略 by @JerryDtj in https://github.com/apache/shenyu/pull/5969
+* [ci] 升级 codeql 版本以修复 ci 错误 by @Aias00 in https://github.com/apache/shenyu/pull/5994
+* [type:fix] 修复 admin 的数据一致性问题 by @yqw570994511 in https://github.com/apache/shenyu/pull/5992
+* Added cache MD5 judgment by @JerryDtj in https://github.com/apache/shenyu/pull/5995
+* [type:fix] 修复 admin-appAuth 的路径验证逻辑缺陷 by @yqw570994511 in https://github.com/apache/shenyu/pull/5993
+* [type:fix] 修复 AlertDispatchServiceImpl 中的缓存删除顺序错误 by @yqw570994511 in https://github.com/apache/shenyu/pull/5991
+* [fix] 修复 ai plugin sql 错误 by @Aias00 in https://github.com/apache/shenyu/pull/5990
+* fix admin:import comfig error. by @478320 in https://github.com/apache/shenyu/pull/5997
+* [type:fix] 修复 logging-elasticsearch 的 NPE 错误 by @yqw570994511 in https://github.com/apache/shenyu/pull/6004
+* [fix] 修复 ci 错误 by @Aias00 in https://github.com/apache/shenyu/pull/5998
+* [type:fix] 修复 logging-tencent 的 NPE 错误 by @yqw570994511 in https://github.com/apache/shenyu/pull/6002
+* [type:fix] 修复 logging-aliyun 的 NPE 错误 by @yqw570994511 in https://github.com/apache/shenyu/pull/6000
+* [feat] 支持生成 Elasticsearch 索引每日并创建别名 by @Aias00 in https://github.com/apache/shenyu/pull/5977
+* [refactor] 重构 ai plugins by @Aias00 in https://github.com/apache/shenyu/pull/5986
+* [fix] 修复 http check 错误 by @Aias00 in https://github.com/apache/shenyu/pull/5989
+* [fix] 修复 java doc 错误 by @Aias00 in https://github.com/apache/shenyu/pull/6008
+* [type:refactor] 重构 ai plugin by @moremind in https://github.com/apache/shenyu/pull/6010
+* [fix] 修复 license 错误 by @Aias00 in https://github.com/apache/shenyu/pull/6011
+* [release] 修改 pom 版本为 2.7.0.1-SNAPSHOT by @Aias00 in https://github.com/apache/shenyu/pull/6012
diff --git a/news/Apache-ShenYu-release-version-2.7.0.1.md b/news/Apache-ShenYu-release-version-2.7.0.1.md
new file mode 100644
index 0000000000..b6db7dd53b
--- /dev/null
+++ b/news/Apache-ShenYu-release-version-2.7.0.1.md
@@ -0,0 +1,113 @@
+---
+title: "[Apache ShenYu 2.7.0.1 Version Release]"
+description: "Apache ShenYu 2.7.0.1 Version Release"
+categories: "Apache ShenYu"
+tags: ["Apache ShenYu"]
+date: 2025-05-03
+---
+
+## Apache ShenYu
+
+Apache ShenYu is a responsive API gateway developed using Java Reactor. With its high performance, dynamic and flexible traffic control, hot swap, easy deployment and other features, out of the box to provide users with a full lifecycle of 'API' gateway, including 'API' registration, service proxy, protocol conversion, 'API' documentation and 'API' governance and other functions. Apache ShenYu graduated as an Apache top-level project in 'July 2022'.
+
+> website: https://shenyu.apache.org
+> 
+> GitHub: https://github.com/apache/shenyu
+
+## Version preview
+
+Three months later, Apache ShenYu released version 2.7.0.1, which submitted a total of `72+ Pull requests`, added about `17+ new features`, added several enhancements, refactored several features, and fixed several bugs. A total of `32` contributors participated, with a cumulative total of 403+ contributors.
+
+> version records: https://github.com/apache/shenyu/compare/v2.7.0...v2.7.0.1
+> 
+
+## What's Changed
+* fixed some bug when using http-polling mode by @xesprni in https://github.com/apache/shenyu/pull/5889
+* [type:refactor] plugin-jwt SPI extension for parsing JWT payloads to ensure compatibility with older versions of JWT tools by @ISKonst in https://github.com/apache/shenyu/pull/5882
+* [type:fix] support dubbo method configure by @eye-gu in https://github.com/apache/shenyu/pull/5891
+* [type:release] release 2.7.0 by @Aias00 in https://github.com/apache/shenyu/pull/5892
+* [type:refactor]Add test case for RestTemplateConfiguration by @po-168 in https://github.com/apache/shenyu/pull/5894
+* [type:refactor]Add test case for ShenyuControllerEndpoint by @po-168 in https://github.com/apache/shenyu/pull/5898
+* [type:refactor] Optimize code for shenyu-sync-data by @po-168 in https://github.com/apache/shenyu/pull/5872
+* [type:refactor] Optimize code for shenyu-registry by @po-168 in https://github.com/apache/shenyu/pull/5876
+* [type:refactor] Optimize code for shenyu-register-common by @po-168 in https://github.com/apache/shenyu/pull/5875
+* [type:refactor]Add test case for CollapseSlashesFilter by @po-168 in https://github.com/apache/shenyu/pull/5904
+* [type:optimize] Optimize BodyParamUtils with Caffeine cache by @g0ne150 in https://github.com/apache/shenyu/pull/5905
+* [type:fix] remove duplicate entry '1792749362445840479' for key resource.PRIMARY from resource table  by @cntigers in https://github.com/apache/shenyu/pull/5908
+* Revert "[type:fix] remove duplicate entry '1792749362445840479' for key resource.PRIMARY from resource table " by @moremind in https://github.com/apache/shenyu/pull/5910
+* [type:refactor]Add test case for ShenyuPluginClassLoaderHolder by @po-168 in https://github.com/apache/shenyu/pull/5909
+* [type:fix]fix namespace delete error by @liyabing12138 in https://github.com/apache/shenyu/pull/5916
+* [type:fix] remove duplicate entry '1792749362445840479' for key resource.PRIMARY from resource table apache#5895 by @cntigers in https://github.com/apache/shenyu/pull/5911
+* fixed RateLimiter remoteAddress issues Please reply #5340. by @wlngo in https://github.com/apache/shenyu/pull/5504
+* [type:refactor] Optimize code for shenyu-kubernetes-controller by @po-168 in https://github.com/apache/shenyu/pull/5877
+* upgrede upload/dowmload-artifact version v3 to v4 by @dyp314417995 in https://github.com/apache/shenyu/pull/5926
+* [type:feature] use checkstyle to avoid ==null check by @eye-gu in https://github.com/apache/shenyu/pull/5927
+* [Volunteer #5641] Improper word usage in Plugin Logging-Kafka configuration#namesrvAddr   by @deepPublicGit in https://github.com/apache/shenyu/pull/5918
+* [type:refactor] Optimize code for shenyu-spring-boot-starter by @po-168 in https://github.com/apache/shenyu/pull/5873
+* [type:fix] The rule cache can not be deleted in shenyu-bootstrap when use nacos as sync center by @Wweiei in https://github.com/apache/shenyu/pull/5929
+* perf(logging): Optimize the performance of log collection by @zongmingzhi in https://github.com/apache/shenyu/pull/5931
+* [type:fix]Fix upgrade sql by @xcsnx in https://github.com/apache/shenyu/pull/5932
+* [type:fix]fix 2.6.1 to 2.7.0 upgrade.sql by @xcsnx in https://github.com/apache/shenyu/pull/5933
+* [type:feature] support dubbo protobuf serialization by @eye-gu in https://github.com/apache/shenyu/pull/5903
+* [type:feat] add ai proxy plugin by @Aias00 in https://github.com/apache/shenyu/pull/5938
+* [type:fix] use wasm32-wasip1 target by @eye-gu in https://github.com/apache/shenyu/pull/5936
+* [type:feature] add ai proxy plugin sql by @Aias00 in https://github.com/apache/shenyu/pull/5939
+* [type:feat] add shenyu infra module by @moremind in https://github.com/apache/shenyu/pull/5941
+* [type:feat] ai proxy selector config by @Aias00 in https://github.com/apache/shenyu/pull/5942
+* [type:fix] set dubbo method config in reference by @eye-gu in https://github.com/apache/shenyu/pull/5944
+* [type:fix] fix h2 database wrong json by @eye-gu in https://github.com/apache/shenyu/pull/5948
+* [type:feature] parse return type when build api doc by @eye-gu in https://github.com/apache/shenyu/pull/5946
+* [type:feat] add Logging-Kafka Plugin e2e and make independent of Logging-rocketmq e2e by @jakiuncle in https://github.com/apache/shenyu/pull/5709
+* [refactor] ai proxy plugin refactor by @Aias00 in https://github.com/apache/shenyu/pull/5952
+* [fix] fix logging gzip messy by @Aias00 in https://github.com/apache/shenyu/pull/5955
+* [feat] add jdbc properties by @Aias00 in https://github.com/apache/shenyu/pull/5951
+* [fix] fix upload jar checkfile by @Aias00 in https://github.com/apache/shenyu/pull/5958
+* [type:refactor] remove springcloud plugin and refactor discovery plugin. by @yunlongn in https://github.com/apache/shenyu/pull/5812
+* [type:fix] fix 2.6.1 shenyu-client register failed by @Wweiei in https://github.com/apache/shenyu/pull/5960
+* Configuring gitpod with java by @kerwin612 in https://github.com/apache/shenyu/pull/5957
+* [type:feat] ai token limiter plugin by @Aias00 in https://github.com/apache/shenyu/pull/5956
+* [fix] fix upgrade sql bug by @Aias00 in https://github.com/apache/shenyu/pull/5963
+* [type:fix]fix delete namespace  by @xcsnx in https://github.com/apache/shenyu/pull/5964
+* [fix] fix heartbeat logic by @Aias00 in https://github.com/apache/shenyu/pull/5970
+* [type:feat] add ai prompt plugin by @Aias00 in https://github.com/apache/shenyu/pull/5962
+* [refactor] refactor create user default ns rel by @Aias00 in https://github.com/apache/shenyu/pull/5975
+* [type:refactor] Optimize code for assert keyword #5967 by @yqw570994511 in https://github.com/apache/shenyu/pull/5968
+* [type:fix] fix(plugin-base): avoid NPE in MetaDataCache cache by @yqw570994511 in https://github.com/apache/shenyu/pull/5985
+* fix(logging-clickhouse): avoid unnecessary config refresh when clickhouse config unchanged. by @yqw570994511 in https://github.com/apache/shenyu/pull/5984
+* [type:bugfix]Add more retry strategies by @JerryDtj in https://github.com/apache/shenyu/pull/5969
+* [ci] upgrade codeql version for ci error by @Aias00 in https://github.com/apache/shenyu/pull/5994
+* [type:fix] fix(admin): Ensure data consistency by adding @Transactional by @yqw570994511 in https://github.com/apache/shenyu/pull/5992
+* Added cache MD5 judgment by @JerryDtj in https://github.com/apache/shenyu/pull/5995
+* [type:fix] (admin-appAuth): Fix path validation logic defects by @yqw570994511 in https://github.com/apache/shenyu/pull/5993
+* [type:fix] fix(admin): Fix dirty data issue caused by cache deletion order in AlertDispatchServiceImpl. by @yqw570994511 in https://github.com/apache/shenyu/pull/5991
+* [fix] fix ai plugin sql by @Aias00 in https://github.com/apache/shenyu/pull/5990
+* fix admin:import comfig error. by @478320 in https://github.com/apache/shenyu/pull/5997
+* [type:fix] (logging-elasticsearch): Fixed the issue where Elasticsearch log configuration was not refreshed correctly after modification. by @yqw570994511 in https://github.com/apache/shenyu/pull/6004
+* [fix] fix ci by @Aias00 in https://github.com/apache/shenyu/pull/5998
+* [type:fix] (logging-tencent): Fixed the issue where Tencent log configuration was not refreshed correctly after modification. by @yqw570994511 in https://github.com/apache/shenyu/pull/6002
+* [type:fix] (logging-aliyun): Fixed the issue where Aliyun log configuration was not refreshed correctly after modification. by @yqw570994511 in https://github.com/apache/shenyu/pull/6000
+* [feat] Supports generating Elasticsearch indices daily and creating an alias for them. by @Aias00 in https://github.com/apache/shenyu/pull/5977
+* [refactor] refactor ai plugins by @Aias00 in https://github.com/apache/shenyu/pull/5986
+* [fix] fix http check by @Aias00 in https://github.com/apache/shenyu/pull/5989
+* [fix] fix java doc by @Aias00 in https://github.com/apache/shenyu/pull/6008
+* [type:refactor] refactor ai plugin by @moremind in https://github.com/apache/shenyu/pull/6010
+* [fix] fix license by @Aias00 in https://github.com/apache/shenyu/pull/6011
+* [release] modify pom version to 2.7.0.1-SNAPSHOT by @Aias00 in https://github.com/apache/shenyu/pull/6012
+
+## New Contributors
+* @xesprni made their first contribution in https://github.com/apache/shenyu/pull/5889
+* @g0ne150 made their first contribution in https://github.com/apache/shenyu/pull/5905
+* @cntigers made their first contribution in https://github.com/apache/shenyu/pull/5908
+* @liyabing12138 made their first contribution in https://github.com/apache/shenyu/pull/5916
+* @deepPublicGit made their first contribution in https://github.com/apache/shenyu/pull/5918
+* @zongmingzhi made their first contribution in https://github.com/apache/shenyu/pull/5931
+* @yqw570994511 made their first contribution in https://github.com/apache/shenyu/pull/5968
+* @JerryDtj made their first contribution in https://github.com/apache/shenyu/pull/5969
+
+## Become a contributor
+
+We welcome every contributor to join ShenYu, and welcome contributors to participate in ShenYu in the spirit of Apache Way!
+
+See the contributor guidelines:
+
+> https://shenyu.apache.org/zh/community/contributor-guide
diff --git a/src/components/DownloadCompoent.tsx b/src/components/DownloadCompoent.tsx
index a6a7d810c5..eebd7a24ec 100644
--- a/src/components/DownloadCompoent.tsx
+++ b/src/components/DownloadCompoent.tsx
@@ -7,6 +7,14 @@ const data = [
     {
         title: translate({ message: 'Source Codes' }),
         versions: [
+            {
+                versionTitle: '2.7.0.1',
+                targets: {
+                    'zip': 'https://www.apache.org/dyn/closer.lua/shenyu/2.7.0.1/apache-shenyu-2.7.0.1-src.zip',
+                    'asc': 'https://downloads.apache.org/shenyu/2.7.0.1/apache-shenyu-2.7.0.1-src.zip.asc',
+                    'sha512': 'https://downloads.apache.org/shenyu/2.7.0.1/apache-shenyu-2.7.0.1-src.zip.sha512',
+                }
+            },
             {
                 versionTitle: '2.7.0',
                 targets: {
diff --git a/src/data/docsInfo.js b/src/data/docsInfo.js
index cc37cff6c8..51b211e64e 100644
--- a/src/data/docsInfo.js
+++ b/src/data/docsInfo.js
@@ -10,7 +10,8 @@ export default [
     nextVersion: "/docs/next/index",
     versionsList: [
       { next: "/docs/next/index" },
-      { "2.7.0": "/docs/index" },
+      { "2.7.0.1": "/docs/index" },
+      { "2.7.0": "/docs/2.7.0/index" },
       { "2.6.1": "/docs/2.6.1/index" },
       { "2.6.0": "/docs/2.6.0/index" },
       { "2.5.1": "/docs/2.5.1/index" },
diff --git a/src/data/event.js b/src/data/event.js
index 13810dbd2d..900c51463a 100644
--- a/src/data/event.js
+++ b/src/data/event.js
@@ -2,6 +2,12 @@ import React from "react";
 import Translate from "@docusaurus/Translate";
 
 export default [
+  {
+    title: <Translate>Release Apache Shenyu 2.7.0.1</Translate>,
+    description:
+        "What's Changed \n fixed some bug when using http-polling mode \n plugin-jwt SPI extension for parsing JWT payloads to ensure compatibility with older......",
+    src: "2.7.0.1-release",
+  },
   {
     title: <Translate>Release Apache Shenyu 2.7.0</Translate>,
     description:
diff --git a/src/data/newsInfo.js b/src/data/newsInfo.js
index 060f54bd9b..e1d94d07fc 100644
--- a/src/data/newsInfo.js
+++ b/src/data/newsInfo.js
@@ -2,6 +2,15 @@ import React from 'react';
 import Translate from "@docusaurus/Translate";
 
 export default [
+    {
+        title: <Translate>Apache ShenYu 2.7.0.1 Version Release</Translate>,
+        description: <Translate>Apache ShenYu 2.7.0.1 Version Release</Translate>,
+        categories: "Apache ShenYu",
+        tags: ["Apache ShenYu"],
+        date: '2025-05-03',
+        cover: "/img/architecture/shenyu-architecture-3d.png",
+        src:'Apache-ShenYu-release-version-2.7.0.1',
+    },
     {
         title: <Translate>Apache ShenYu 2.7.0 Version Release</Translate>,
         description: <Translate>Apache ShenYu 2.7.0 Version Release</Translate>,
diff --git a/versioned_docs/version-2.7.0.1/benchmark-test/_category_.json b/versioned_docs/version-2.7.0.1/benchmark-test/_category_.json
new file mode 100644
index 0000000000..566577bd39
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/benchmark-test/_category_.json
@@ -0,0 +1,4 @@
+{
+  "label": "Benchmark Test",
+  "position": 8
+}
diff --git a/versioned_docs/version-2.7.0.1/benchmark-test/benchmark-test.md b/versioned_docs/version-2.7.0.1/benchmark-test/benchmark-test.md
new file mode 100644
index 0000000000..e66d1ef097
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/benchmark-test/benchmark-test.md
@@ -0,0 +1,300 @@
+---
+sidebar_position: 8
+title: Benchmark Test Report
+keywords: ["test", "benchmark-test"]
+description: ShenYu Benchmark Test Report
+---
+
+## Hardware
+
+### Back-end Mock Service Server:
+
+- CPU: 4 cores and 8 threads Intel Cascade Lake @ 3.0GHz
+- RAM: 16G
+
+### Gateway node server:
+
+- CPU: 4 cores and 8 threads Intel Cascade Lake @ 3.0GHz
+- RAM: 16G
+
+The test tool takes up few resources and is installed on the gateway node server.
+
+## ShenYu Version
+
+- ShenYu Admin: 2.6.0
+- ShenYu Bootstrap: 2.6.0
+
+## Test Tool
+
+wrk-4.2.0
+
+## Test Case Description
+
+### Instruction
+
+- Use the Mock service to simulate an interface with an average response time of 20ms and about 2k response messages
+- Each test lasts 3 minutes
+- JDK version: OpenJdk-1.8.0
+- The HTTP request side is tested with `NettyClient` and `WebClient` respectively
+- Log level is set to `WARN`
+- Apache ShenYu Bootstrap deploy mode: standalone
+- Apache ShenYu Admin deploy in `Back-end Mock Service Server`
+
+### JVM Configuration
+
+```
+-Xmx 4g 
+-Xms 4g 
+-Xmn 1g 
+-Xss 512k 
+-XX: +DisableExplicitGC 
+-XX: LargePageSizeInBytes=128m
+```
+
+### Public Configuration
+
+* application.yml
+    
+```yml
+matchCache:
+  selector:
+    selectorEnabled: true
+    initialCapacity: 10000 # initial capacity in cache
+    maximumSize: 10000 # max size in cache
+  rule:
+    initialCapacity: 10000 # initial capacity in cache
+    maximumSize: 65536 # max size in cache
+trie:
+  enabled: true
+  childrenSize: 10000
+  pathVariableSize: 1000
+  pathRuleCacheSize: 1000
+  matchMode: antPathMatch
+```
+
+```yml
+netty:
+  http:
+  # set to false, user can custom the netty tcp server config.
+  webServerFactoryEnabled: true
+  selectCount: 1
+  workerCount: 8
+  accessLog: false
+  serverSocketChannel:
+    soRcvBuf: 87380
+    soBackLog: 128
+    soReuseAddr: false
+    connectTimeoutMillis: 10000
+    writeBufferHighWaterMark: 65536
+    writeBufferLowWaterMark: 32768
+    writeSpinCount: 16
+    autoRead: false
+    allocType: "pooled"
+    messageSizeEstimator: 8
+    singleEventExecutorPerGroup: true
+  socketChannel:
+    soKeepAlive: false
+    soReuseAddr: false
+    soLinger: -1
+    tcpNoDelay: true
+    soRcvBuf: 87380
+    soSndBuf: 16384
+    ipTos: 0
+    allowHalfClosure: false
+    connectTimeoutMillis: 10000
+    writeBufferHighWaterMark: 65536
+    writeBufferLowWaterMark: 32768
+    writeSpinCount: 16
+    autoRead: false
+    allocType: "pooled"
+    messageSizeEstimator: 8
+    singleEventExecutorPerGroup: true
+```
+
+```yaml
+  file:
+    enabled: false
+    maxSize : 10
+```
+
+```yaml
+  cross:
+    enabled: false
+```
+
+```yaml
+logging:
+  level:
+    root: warn
+    org.springframework.boot: warn
+    org.apache.ibatis: warn
+    org.apache.shenyu.bonuspoint: warn
+    org.apache.shenyu.lottery: warn
+    org.apache.shenyu: warn
+```
+
+* logback.xml
+
+```xml
+    <root level="WARN">
+        <appender-ref ref="ASYNC_STDOUT"/>
+        <appender-ref ref="ASYNC_FILE"/>
+        <appender-ref ref="ASYNC_ERROR_FILE"/>
+    </root>
+```
+
+### WebClient Configuration
+
+```yml
+httpclient:
+  strategy: webClient # netty
+  connectTimeout: 45000 # 45000
+  responseTimeout: 3000 # 3000
+  readerIdleTime: 3000 # 3000
+  writerIdleTime: 3000 # 3000
+  allIdleTime: 3000 # 3000
+  readTimeout: 3000 # 3000
+  writeTimeout: 3000 # 3000
+  wiretap: false # false
+  keepAlive: false # false
+  maxInMemorySize: 1 # 1
+  pool:
+    type: ELASTIC # ELASTIC
+    name: proxy # proxy
+    maxConnections: 16 # 16
+    acquireTimeout: 45000 # 45000
+    maxIdleTime: 3000 # 3000
+```
+
+### Netty Client Configuration
+
+```yml
+httpclient:
+  strategy: netty # netty
+  connectTimeout: 45000 # 45000
+  responseTimeout: 3000 # 3000
+  readerIdleTime: 3000 # 3000
+  writerIdleTime: 3000 # 3000
+  allIdleTime: 3000 # 3000
+  readTimeout: 3000 # 3000
+  writeTimeout: 3000 # 3000
+  wiretap: false # false
+  keepAlive: false # false
+  maxInMemorySize: 1 # 1
+  pool:
+    type: ELASTIC # ELASTIC
+    name: proxy # proxy
+    maxConnections: 16 # 16
+    acquireTimeout: 45000 # 45000
+    maxIdleTime: 3000 # 3000
+```
+
+## Benchmark Test Results
+
+* Direct Access to Back-end Test Result
+
+| **QPS** | **50% latency (ms)** | **75% latency (ms)** | **90% latency (ms)** | **99% latency (ms)** | **平均响应时间(ms)** | **最大响应时间(ms)** |
+|:---------------:|:----------------------:|:----------------------:|:----------------------:|:----------------------:|:----------------:|:----------------:|
+| 28998.20      | 19.81                | 23.78                | 28.26                | 41.24                | 20.92          | 402.90          |
+
+* netty
+
+|   currency    | QPS      | 50% latency (ms) | 75% latency (ms) | 90% latency (ms) | 99% latency (ms) | 平均响应时间(ms) | 最大响应时间(ms) |
+|:-------------:|:----------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------:|:------------:|
+| 600  currency | 20472.95 | 19.37            | 25.36            | 32.89            | 69.92            | 22.09      | 1043.33    |
+|    800  currency    | 20703.55 | 23.57            | 31.32            | 40.11            | 77.28            | 26.11      | 576.47     |
+|    1000 currency    | 20979.91 | 29.21            | 37.86            | 47.23            | 80.91            | 31.20      | 860.55     |
+|    1200 currency    | 21129.88 | 32.45            | 42.40            | 52.68            | 96.10            | 35.06      | 1070       |
+
+* webClient
+
+| currency | QPS      | 50% latency (ms) | 75% latency (ms) | 90% latency (ms) | 99% latency (ms) | 平均响应时间(ms) | 最大响应时间(ms) |
+|:--------:|:----------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------:|:------------:|
+| 600  currency  | 18640.47 | 15.77            | 24.77            | 38.26            | 80.31            | 20.32      | 852.06     |
+| 800  currency  | 18723.44 | 18.12            | 28.69            | 44.96            | 95.3             | 23.52      | 765.26     |
+| 1000 currency  | 18928.99 | 19.99            | 31.42            | 49.09            | 108.84           | 25.93      | 1040       |
+| 1200 currency  | 18965.37 | 22.10            | 34.62            | 54.48            | 122.31           | 28.66      | 1075       |
+
+### Direct Access to Back-end Test Result
+
+#### Test Result
+
+| **QPS** | **50% latency (ms)** | **75% latency (ms)** | **90% latency (ms)** | **99% latency (ms)** | **Avg response time (ms)** | **Max response time (ms)** |
+|:---------------:|:----------------------:|:----------------------:|:----------------------:|:----------------------:|:----------------:|:----------------:|
+| 28998.20      | 19.81                | 23.78                | 28.26                | 41.24                | 20.92          | 402.90          |
+
+#### Screenshot of Test Result
+
+<img src="/img/shenyu/benchmark-test/origin/1.png" width="100%" height="100%" />
+
+### Access to Back-end Services via NettyClient Test Result
+
+##### Test Result
+
+| currency  | **QPS**  | **50% latency (ms)** | **75% latency (ms)** | **90% latency (ms)** | **99% latency (ms)** | **Avg response time (ms)** | **Max response time (ms)** |
+|:-----------:|:--------:|:--------------------:|:--------------------:|:--------------------:|:--------------------:|:--------------:|:--------------:|
+| 600 concurrency  | 20472.95 | 19.37            | 25.36            | 32.89            | 69.92            | 22.09      | 1043.33    |
+| 800 concurrency  | 20703.55 | 23.57            | 31.32            | 40.11            | 77.28            | 26.11      | 576.47     |
+| 1000 concurrency | 20979.91 | 29.21            | 37.86            | 47.23            | 80.91            | 31.20      | 860.55     |
+| 1200 concurrency | 21129.88 | 32.45            | 42.40            | 52.68            | 96.10            | 35.06      | 1070       |
+
+#### Screenshot of Test Result
+
+##### 600 concurrency
+
+<img src="/img/shenyu/benchmark-test/netty/600-currency/8-thread/1-netty-cache-selector.png" width="100%" height="100%" />
+<img src="/img/shenyu/benchmark-test/netty/600-currency/8-thread/2-netty-cache-selector.jpg" width="100%" height="100%" />
+<img src="/img/shenyu/benchmark-test/netty/600-currency/8-thread/3-netty-cache-selector.jpg" width="100%" height="100%" />
+
+##### 800 concurrency
+
+<img src="/img/shenyu/benchmark-test/netty/800-currency/8-thread/1-netty-cache-selector.jpg" width="100%" height="100%" />
+<img src="/img/shenyu/benchmark-test/netty/800-currency/8-thread/2-netty-cache-selector.jpg" width="100%" height="100%" />
+<img src="/img/shenyu/benchmark-test/netty/800-currency/8-thread/3-netty-cache-selector.jpg" width="100%" height="100%" />        
+
+##### 1000 concurrency
+
+<img src="/img/shenyu/benchmark-test/netty/1000-currency/8-thread/1-netty-cache-selector.jpg" width="100%" height="100%" />
+<img src="/img/shenyu/benchmark-test/netty/1000-currency/8-thread/2-netty-cache-selector.jpg" width="100%" height="100%" />
+<img src="/img/shenyu/benchmark-test/netty/1000-currency/8-thread/3-netty-cache-selector.jpg" width="100%" height="100%" />
+
+##### 1200 concurrency
+
+<img src="/img/shenyu/benchmark-test/netty/1200-currency/8-thread/1-netty-cache-selector.jpg" width="100%" height="100%" />
+<img src="/img/shenyu/benchmark-test/netty/1200-currency/8-thread/2-netty-cache-selector.jpg" width="100%" height="100%" />
+<img src="/img/shenyu/benchmark-test/netty/1200-currency/8-thread/3-netty-cache-selector.jpg" width="100%" height="100%" />
+
+### Access to Back-end Services via WebClient Test Result
+
+#### Test Result
+
+| currency  | **QPS**  | **50% latency (ms)** | **75% latency (ms)** | **90% latency (ms)** | **99% latency (ms)** | **Avg response time (ms)** | **Max response time (ms)** |
+|:-----------:|:--------:|:--------------------:|:--------------------:|:--------------------:|:--------------------:|:--------------:|:--------------:|
+| 600 concurrency  | 18640.47 | 15.77            | 24.77            | 38.26            | 80.31            | 20.32      | 852.06     |
+| 800 concurrency  | 18723.44 | 18.12            | 28.69            | 44.96            | 95.3             | 23.52      | 765.26     |
+| 1000 concurrency | 18928.99 | 19.99            | 31.42            | 49.09            | 108.84           | 25.93      | 1040       |
+| 1200 concurrency | 18965.37 | 22.10            | 34.62            | 54.48            | 122.31           | 28.66      | 1075       |
+
+#### Screenshot of Test Result
+
+##### 600 concurrency
+
+<img src="/img/shenyu/benchmark-test/http/600-currency/8-thread/1-netty-cache-selector.jpg" width="100%" height="100%" />
+<img src="/img/shenyu/benchmark-test/http/600-currency/8-thread/2-netty-cache-selector.jpg" width="100%" height="100%" />
+<img src="/img/shenyu/benchmark-test/http/600-currency/8-thread/3-netty-cache-selector.jpg" width="100%" height="100%" />
+
+##### 800 concurrency
+
+<img src="/img/shenyu/benchmark-test/http/800-currency/8-thread/1-netty-cache-selector.jpg" width="100%" height="100%" />
+<img src="/img/shenyu/benchmark-test/http/800-currency/8-thread/2-netty-cache-selector.jpg" width="100%" height="100%" />
+
+##### 1000 concurrency
+
+<img src="/img/shenyu/benchmark-test/http/1000-currency/8-thread/1-netty-cache-selector.jpg" width="100%" height="100%" />
+<img src="/img/shenyu/benchmark-test/http/1000-currency/8-thread/2-netty-cache-selector.jpg" width="100%" height="100%" />
+
+##### 1200 concurrency
+
+<img src="/img/shenyu/benchmark-test/http/1200-currency/8-thread/1-netty-cache-selector.jpg" width="100%" height="100%" />
+<img src="/img/shenyu/benchmark-test/http/1200-currency/8-thread/2-netty-cache-selector.jpg" width="100%" height="100%" />
+
diff --git a/versioned_docs/version-2.7.0.1/deployment/_category_.json b/versioned_docs/version-2.7.0.1/deployment/_category_.json
new file mode 100644
index 0000000000..534be1dfb6
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/deployment/_category_.json
@@ -0,0 +1,4 @@
+{
+  "label": "Deployment",
+  "position": 3
+}
diff --git a/versioned_docs/version-2.7.0.1/deployment/deployment-aapanel.md b/versioned_docs/version-2.7.0.1/deployment/deployment-aapanel.md
new file mode 100644
index 0000000000..217712c546
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/deployment/deployment-aapanel.md
@@ -0,0 +1,50 @@
+---
+sidebar_position: 6
+title: aaPanel Deployment
+keywords: ["aaPanel"]
+description: aaPanel Deployment
+---
+
+This article introduces the use of `aaPanel` to deploy the `Apache ShenYu` gateway.
+
+> Before you read this document, you need to complete some preparations before deploying Shenyu according to the [Deployment Prerequisites document](./deployment-before.md).
+
+### Prerequisite
+
+To install aaPanel, go to the [aaPanel](https://www.aapanel.com/new/download.html#install) official website and select the corresponding script to download and install.
+
+### Deployment
+
+aaPanel(Applicable versions 7.0.11 and above) Deployment guidelines
+
+1. Log in to aaPanel and click `Docker` in the menu bar
+   ![Docker](/img/shenyu/deployment/aapanel/install.png)
+
+2. The first time you will be prompted to install the `Docker` and `Docker Compose` services, click Install Now. If it is already installed, please ignore it.
+   ![install](/img/shenyu/deployment/aapanel/install2.png)
+
+3. After the installation is complete, find `ShenYu` in `One-Click Install` and click `install`  
+
+   ![install_HertzBeat](/img/shenyu/deployment/aapanel/install-ShenYu.png)
+
+4. Set the basic information such as domain name and click 'OK'
+
+   ![add](/img/shenyu/deployment/aapanel/addShenYu.png)
+   
+
+
+- Name: application name, default `ShenYu-random characters`
+- Version selection: default `latest`
+- Domain name: If you need to access directly through the domain name, please configure the domain name here and resolve the domain name to the server
+- Allow external access: If you need direct access through `IP+Port`, please check. If you have set up a domain name, please do not check here.
+- Port: Web management port `9095`, can be modified by yourself
+
+After submission, the panel will automatically initialize the application, which will take about `1-3` minutes. It can be accessed after the initialization is completed.
+
+
+### Visit ShenYu
+
+- If you have set a domain name, please directly enter the domain name in the browser address bar, such as `http://demo.ShenYu.apache.org`, to access the `LobeChat`ShenYu console.
+- If you choose to access through `IP+Port`, please enter the domain name in the browser address bar to access `http://<aaPanelIP>:9095` to access the `ShenYu` console.
+![console](/img/shenyu/deployment/aapanel/console.png)
+
diff --git a/versioned_docs/version-2.7.0.1/deployment/deployment-before.md b/versioned_docs/version-2.7.0.1/deployment/deployment-before.md
new file mode 100644
index 0000000000..298283ebf3
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/deployment/deployment-before.md
@@ -0,0 +1,56 @@
+---
+sidebar_position: 0
+title: Deployment Prerequisites
+keywords: ["Deployment Prerequisites"]
+description: Deployment Prerequisites
+---
+
+This article describes some of the prerequisites you need to prepare before deploying the Apache ShenYu gateway.
+
+## Database Initialize
+
+Before deploying the `Shenyu-admin` project, initialize the database it uses (databases currently support: Mysql, PostgreSql, Oracle), which used the script files are stored in db directory [project root directory](https://github.com/apache/shenyu/tree/master/db), The following describes the initial steps for each database.
+
+### Mysql
+
+In [the mysql initialization scripts directory](https://github.com/apache/shenyu/tree/master/db/init/mysql) found in the initialization script `schema.sql`, Use the client connection tool to connect to your Mysql service and execute, so you get a database named `shenyu`, which can later be used as the database for the `Shenyu-admin` project.
+
+* sql script: https://github.com/apache/shenyu/tree/master/db/init/mysql
+
+* driver:
+
+  * maven repository: https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.30/
+  * homepage: https://www.mysql.com/products/connector/
+
+### PostgreSql
+
+In [the pg initialization scripts directory](https://github.com/apache/shenyu/tree/master/db/init/pg) found in the initialization script `create-database.sql`、 `create-table.sql`, and use the client connection tool to connect to your PostgreSql service. so you get a database named `shenyu`, which can later be used as a database for the `Shenyu-admin` project.
+
+* sql script: https://github.com/apache/shenyu/tree/master/db/init/pg
+
+* driver:
+
+  * maven repository: https://mvnrepository.com/artifact/org.postgresql/postgresql/42.5.0
+  * homepage: https://jdbc.postgresql.org/download/
+
+### Oracle
+
+In [the oracle initialization scripts directory](https://github.com/apache/shenyu/blob/master/db/init/oracle) found in the initialization script `schema.sql`, Use the client connection tool to connect to your Oracle service to create a database, execute the `schema.sql` script on this database, and initialize the `Shenyu-admin` database. After can be [project configuration file](https://github.com/apache/shenyu/blob/master/shenyu-admin/src/main/resources/application-oracle.yml) to adjust [...]
+
+* sql script: https://github.com/apache/shenyu/blob/master/db/init/oracle
+
+* driver:
+
+  * maven repository: https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8/19.3.0.0
+  * homepage:  https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html
+
+### OpenGauss
+
+In [the openGuass initialization scripts directory](https://github.com/apache/shenyu/blob/master/db/init/og) found in the initialization script `create-table.sql`, Use the client connection tool to connect to your openGauss service to create a database, execute the `create-table.sql` script on this database, and initialize the `Shenyu-admin` database. After can be [project configuration file](https://github.com/apache/shenyu/blob/master/shenyu-admin/src/main/resources/application-og.yml) [...]
+
+* sql script: https://github.com/apache/shenyu/blob/master/db/init/og
+
+* driver:
+
+  * maven repository: https://mvnrepository.com/artifact/org.opengauss/opengauss-jdbc/5.0.0-og
+  * homepage:  https://gitee.com/opengauss/openGauss-connector-jdbc
diff --git a/versioned_docs/version-2.7.0.1/deployment/deployment-cluster.md b/versioned_docs/version-2.7.0.1/deployment/deployment-cluster.md
new file mode 100644
index 0000000000..a24277f8c1
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/deployment/deployment-cluster.md
@@ -0,0 +1,246 @@
+---
+sidebar_position: 7
+title: Cluster Deployment
+keywords: ["Gateway Cluster Environment", "Cluster Environment"]
+description: Cluster Deployment
+---
+
+> Before you read this document, you need to complete some preparations before deploying Shenyu according to the [Deployment Prerequisites document](./deployment-before.md).
+
+This article introduces how to deploy the `Shenyu` gateway in cluster environment.
+
+> In this part, you can see  [ShenYu Binary Packages Deployment](./deployment-package.md) before deploying.
+
+### Environmental Preparation
+
+* Two or more Gateway Boostrap servers, these servers must install JDK1.8+.
+* A server for Gateway Admin, this server must install mysql/pgsql/h2 and JDK1.8+.
+* A server for nginx.
+
+### Start Apache ShenYu Admin
+
+* download and unzip [apache-shenyu-${current.version}-admin-bin.tar.gz](https://archive.apache.org/dist/incubator/shenyu/2.5.1/apache-shenyu-2.5.1-admin-bin.tar.gz) in your Gateway Admin server.
+
+* config your database, go to the `/conf` directory, and  modify `spring.profiles.active` of the configuration in `application.yaml` to `mysql`, `pg` or `h2`.
+
+* config your way of synchronization, go to the `/conf` directory, and modify `shenyu.sync` of configuration in `application.yaml` to `websocket`, `http`, `zookeeper`, `etcd`, `consul` or `nacos`.
+
+* start Apache ShenYu Admin in `bin` directory.
+
+```
+> windows: start.bat 
+
+> linux: ./start.sh 
+```
+
+### Start Apache ShenYu Boostrap
+
+* download and unzip [apache-shenyu-${current.version}-bootstrap-bin.tar.gz](https://archive.apache.org/dist/incubator/shenyu/2.5.1/apache-shenyu-2.5.1-bootstrap-bin.tar.gz) in your Gateway Boostrap server.
+
+* config your synchronization, go to the `/conf` directory, and modify `shenyu.sync` of configuration in `application.yaml` to `websocket`, `http`, `zookeeper`, `etcd`, `consul` or `nacos`, this configuaration must remain the same of `ShenyYu Admin`.
+
+* repeat above-mentioned operations in each `ShenYu Bootstrap` server.
+
+* start Apache ShenYu Bootstrap in `bin` directory.
+
+```
+> windwos : start.bat 
+
+> linux : ./start.sh 
+```
+
+> After completing these operations, you will deploy `ShenYu Boostrap` Cluster.
+>
+> For example. you will deploy `ShenYu Bootstrap` in `10.1.1.1` and `10.1.1.2` and deploy nginx in `10.1.1.3`.
+
+### Start Nginx
+
+* download and install `nginx`.
+
+* modify `upstream` and `server` of configuration in `nginx.conf`.
+
+```nginx
+upstream shenyu_gateway_cluster {
+  ip_hash;
+  server 10.1.1.1:9195 max_fails=3 fail_timeout=10s weight=50;
+  server 10.1.1.2:9195 max_fails=3 fail_timeout=10s weight=50;
+}
+
+server {
+  listen 9195;
+  location / {
+		proxy_pass http://shenyu_gateway_cluster;
+		proxy_set_header HOST $host;
+		proxy_read_timeout 10s;
+		proxy_connect_timeout 10s;
+  }
+}
+```
+
+* start nginx.
+
+```
+> windows: ./nginx.exe
+
+> linux: /usr/local/nginx/sbin/nginx 
+```
+
+* verify nginx, looking at your `ShenYu Bootstrap` log or `Nginx` log, Where will the verification request go.
+
+Apache ShenYu Nginx Module
+
+---
+
+This module provided SDK to watch available ShenYu instance list as upstream nodes by Service Register Center for OpenResty.
+1. [ETCD](#greeting-etcd) (Supported)
+2. [Nacos](#greeting-nacos) (Supported)
+3. [Zookeeper](#greeting-zookeeper) (Supported)
+4. Consul (TODO)
+
+In the cluster mode, Apache ShenYu supports the deployment of multiple ShenYu instances, which may have new instances joining or leaving at any time.
+Hence, Apache ShenYu introduces Service Discovery modules to help client to detect the available instances.
+Currently, Apache ShenYu Bootstrap already supports Apache Zookeeper, Nacos, Etcd, and consul. Client or LoadBalancer can get the available ShenYu instances by those Service register center.
+
+## Getting Started
+
+- Prerequisite:
+1. Luarocks
+2. OpenResty
+
+### Build from source
+
+The first, clone the source from GitHub.
+
+```
+git clone https://github.com/apache/shenyu-nginx
+```
+
+Then, build from source and install.
+
+```
+cd shenyu-nginx
+luarocks make rockspec/shenyu-nginx-main-0.rockspec
+```
+
+### Greeting ETCD
+
+Modify the Nginx configure, create and initialize the ShenYu Register to connect to the target register center.
+The module will fetch the all of ShenYu instances which are registered to Etcd in the same cluster.
+It works like Etcd client to watch(based on long polling) ShenYu instance lists.
+
+Here is an example for Etcd.
+
+```
+init_worker_by_lua_block {
+    local register = require("shenyu.register.etcd")
+    register.init({
+        balancer_type = "chash",
+        etcd_base_url = "http://127.0.0.1:2379",
+    })
+}
+```
+
+1. `balancer_type` specify the balancer. It has supported `chash` and `round robin`.
+2. `etcd_base_url` specify the Etcd server.(Currently, authentication is not supported.)
+
+Add an `upstream block` for ShenYu and enable to update upstream servers dynamically. This case will synchronize the ShenYu instance list with register center.
+And then pick one up for handling the request.
+
+```
+upstream shenyu {
+    server 0.0.0.1; -- bad 
+    
+    balancer_by_lua_block {
+        require("shenyu.register.etcd").pick_and_set_peer()
+    }
+}
+```
+
+Finally, restart OpenResty.
+
+```
+openresty -s reload
+```
+
+Here is a completed [example](https://github.com/apache/shenyu-nginx/blob/main/example/etcd/nginx.conf) working with ETCD.
+
+### Greeting Nacos
+
+Modify the Nginx configure, create and initialize the ShenYu Register to connect to target register center.  Here is an example for Nacos.
+
+```
+init_worker_by_lua_block {
+    local register = require("shenyu.register.nacos")
+    register.init({
+        shenyu_storage = ngx.shared.shenyu_storage,
+        balancer_type = "chash",
+        nacos_base_url = "http://127.0.0.1:8848",
+        username = "nacos",
+        password = "naocs",
+    })
+}
+```
+
+1. `balancer_type` specify the balancer. It has supported `chash` and `round robin`.
+2. `nacos_base_url` specify the Nacos server address.
+3. `username` specify the username to log in Nacos. (it is only required when Nacos auth enable)
+4. `password` specify the password to log in Nacos.
+
+Modify the `upstream` to enable to update upstream servers dynamically. This case will synchronize the ShenYu instance list with register center.
+And then pick one up for handling the request.
+
+```
+upstream shenyu {
+    server 0.0.0.1; -- bad 
+    
+    balancer_by_lua_block {
+        require("shenyu.register.nacos").pick_and_set_peer()
+    }
+}
+```
+
+Finally, restart OpenResty.
+
+```
+openresty -s reload
+```
+
+Here is a completed [example](https://github.com/apache/shenyu-nginx/blob/main/example/nacos/nginx.conf) working with Nacos.
+
+## Greeting Zookeeper
+
+Modify the Nginx configure, create and initialize the ShenYu register to connect to target register center.
+Listen for changes to the node via the zookeeper watch event. Here is an example of the zookeeper configuration.
+
+```
+init_worker_by_lua_block {
+        local register = require("shenyu.register.zookeeper")
+        register.init({
+           servers = {"127.0.0.1:2181","127.0.0.1:2182"},
+           shenyu_storage = ngx.shared.shenyu_storage,
+           balancer_type = "roundrobin"
+        });
+    }
+```
+
+1. `servers` zookeeper cluster address.
+2. ``balancer_type`` specify the balancer. It has supported `chash` and `round robin`.
+
+Modify the upstream to enable to update upstream servers dynamically. This case will synchronize the ShenYu instance list with register center. And then pick one up for handling the request.
+
+```
+ upstream shenyu {
+        server 0.0.0.1;
+        balancer_by_lua_block {
+            require("shenyu.register.zookeeper").pick_and_set_peer()
+        }
+    }
+```
+
+Finally, restart OpenResty.
+
+```
+openresty -s reload
+```
+
+Here is a completed [example](https://github.com/apache/shenyu-nginx/blob/main/example/zookeeper/nginx.conf) working with Zookeeper.
diff --git a/versioned_docs/version-2.7.0.1/deployment/deployment-custom.md b/versioned_docs/version-2.7.0.1/deployment/deployment-custom.md
new file mode 100644
index 0000000000..4ea65337cd
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/deployment/deployment-custom.md
@@ -0,0 +1,66 @@
+---
+sidebar_position: 6
+title: Custom Deployment
+keywords: ["Custom"]
+description: Custom Deployment
+---
+
+This article describes how to build your own gateway based on `Apache ShenYu`.
+
+> Before you read this document, you need to complete some preparations before deploying Shenyu according to the [Deployment Prerequisites document](./deployment-before.md).
+
+### Start Apache ShenYu Admin
+
+* docker reference docker deployment Apache ShenYu Admin
+
+* liunx/windows reference binary packages deployment Apache ShenYu Admin
+
+### Build your own gateway (recommended)
+
+* first create an empty `springboot` project, you can refer to `shenyu-bootstrap`, or you can create it on [spring official website](https://spring.io/quickstart).
+
+* introduce the following `jar` package:
+
+```xml
+<dependencies>
+   <dependency>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-webflux</artifactId>
+        <version>2.2.2.RELEASE</version>
+   </dependency>
+    <dependency>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-actuator</artifactId>
+        <version>2.2.2.RELEASE</version>
+   </dependency>
+    <dependency>
+        <groupId>org.apache.shenyu</groupId>
+        <artifactId>shenyu-spring-boot-starter-gateway</artifactId>
+        <version>${current.version}</version>
+   </dependency>
+    <dependency>
+        <groupId>org.apache.shenyu</groupId>
+        <artifactId>shenyu-spring-boot-starter-sync-data-websocket</artifactId>
+        <version>${current.version}</version>
+   </dependency>
+</dependencies>
+```
+
+among them, `${project.version}` please use the current latest version.
+
+* add the following configuration to your `application.yaml` file:
+
+```yaml
+spring:
+  main:
+    allow-bean-definition-overriding: true
+management:
+  health:
+    defaults:
+      enabled: false
+shenyu:
+  sync:
+    websocket:
+      urls: ws://localhost:9095/websocket  //set to your shenyu-admin address
+      allowOrigin: ws://localhost:9195
+```
diff --git a/versioned_docs/version-2.7.0.1/deployment/deployment-docker-compose.md b/versioned_docs/version-2.7.0.1/deployment/deployment-docker-compose.md
new file mode 100644
index 0000000000..36514a54e9
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/deployment/deployment-docker-compose.md
@@ -0,0 +1,39 @@
+---
+sidebar_position: 3
+title: Docker-compose Deployment
+keywords: ["docker-compose", "Deployment"]
+description: Docker-compose Deployment
+---
+
+This article introduces the use of `docker-compose` to deploy the `Apache ShenYu` gateway.
+
+> Before you read this document, you need to complete some preparations before deploying Shenyu according to the [Deployment Prerequisites document](./deployment-before.md).
+
+### Download shell script
+
+```shell
+curl -O https://raw.githubusercontent.com/apache/shenyu/master/shenyu-dist/shenyu-docker-compose-dist/src/main/resources/install.sh
+```
+
+### execute script
+
+This script will download the required configuration files and mysql-connector, and can be executed repeatedly if the download fails.
+
+```shell
+sh ./install.sh #The latest configuration is pulled by default. If you need to deploy the released version, you can add a parameter to indicate the version number, such as: v2.4.2 or latest
+```
+
+### Initialize the `shenyu-admin` database
+
+Refer to the [database initialization documentation](./deployment-before.md#database-initialize) to initialize the database.
+
+### Modify the configuration file
+
+Modify the configuration file downloaded by the script to set up configurations such as `JDBC`.
+
+### Execute docker-compose
+
+```shell
+cd shenyu-${VERSION}
+docker-compose -f ./shenyu-${VERSION}/docker-compose.yaml up -d
+```
diff --git a/versioned_docs/version-2.7.0.1/deployment/deployment-docker.md b/versioned_docs/version-2.7.0.1/deployment/deployment-docker.md
new file mode 100644
index 0000000000..2eb8261f6c
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/deployment/deployment-docker.md
@@ -0,0 +1,113 @@
+---
+sidebar_position: 3
+title: Docker Deployment
+keywords: ["docker", "Deployment"]
+description: Docker Deployment
+---
+
+This article introduces the use of `docker` to deploy the `Apache ShenYu` gateway.
+
+> Before you read this document, you need to complete some preparations before deploying Shenyu according to the [Deployment Prerequisites document](./deployment-before.md).
+
+### Create Docker Network
+
+```
+docker network create shenyu
+```
+
+### Start Apache ShenYu Admin
+
+```
+docker pull apache/shenyu-admin:${current.version}
+```
+
+> After version 2.5.1, when `docker run`, we can customize JVM startup parameters by adding `-e ADMIN_JVM="xxxx"`
+
+* use `h2` to store data:
+
+```
+docker run -d -p 9095:9095 --name shenyu-admin --net shenyu apache/shenyu-admin:${current.version}
+```
+
+* use `MySQL` to store data, follow the [guide document](./deployment-before.md#mysql) to initialize the database, copy [mysql-connector.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.29/mysql-connector-java-8.0.29.jar) to `/$(your_work_dir)/ext-lib`:
+
+```
+docker run --name shenyu-admin -v /${your_work_dir}/ext-lib:/opt/shenyu-admin/ext-lib -e "SPRING_PROFILES_ACTIVE=mysql" -e "spring.datasource.url=jdbc:mysql://${your_ip_port}/shenyu?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull" -e "spring.datasource.username=${your_username}" -e "spring.datasource.password=${your_password}" -d -p 9095:9095 --net shenyu apache/shenyu-admin:${current.version}
+```
+
+another way is to put the `application.yml`、`application-mysql.yml` configuration in  ${your_work_dir}/conf from [Configure address](https://github.com/apache/shenyu/blob/master/shenyu-admin/src/main/resources/) , modify the configuration `spring.profiles.active = mysql` in `application.yml`, and then execute the following statement:
+
+```          
+docker run --name shenyu-admin -v ${your_work_dir}/conf:/opt/shenyu-admin/conf -v /${your_work_dir}/ext-lib:/opt/shenyu-admin/ext-lib -d -p 9095:9095 --net shenyu apache/shenyu-admin:${current.version}
+```
+
+* use `PostgreSql` to store data, follow the [guide document](./deployment-before.md#postgresql) to initialize the database, execute the following statement:
+
+```
+docker run --name shenyu-admin -e "SPRING_PROFILES_ACTIVE=pg" -e "spring.datasource.url=jdbc:postgresql://${your_ip_port}/shenyu?useUnicode=true&characterEncoding=utf-8&useSSL=false" -e "spring.datasource.username=${your_username}" -e "spring.datasource.password=${your_password}" -d -p 9095:9095 --net shenyu apache/shenyu-admin:${current.version}
+```
+
+another way is to put the `application.yml`、`application-pg.yml` configuration in ${your_work_dir}/conf, modify the configuration `spring.profiles.active = pg` in `application.yml`,and then execute the following statement:
+
+```
+docker run --name shenyu-admin -v ${your_work_dir}/conf:/opt/shenyu-admin/conf -d -p 9095:9095 --net shenyu apache/shenyu-admin:${current.version}
+```
+
+* use `Oracle` to store data, follow the [guide document](./deployment-before.md#oracle) to initialize the database, execute the following statement:
+
+```
+docker run --name shenyu-admin -e "SPRING_PROFILES_ACTIVE=oracle" -e "spring.datasource.url=jdbc:oracle:thin:@localhost:1521/shenyu" -e "spring.datasource.username=${your_username}" -e "spring.datasource.password=${your_password}" -d -p 9095:9095 --net shenyu apache/shenyu-admin:${current.version}
+```
+
+another way is to put the `application.yml`、`application-oracle.yml` configuration in ${your_work_dir}/conf, modify the configuration `spring.profiles.active = oracle` in `application.yml`, and then execute the following statement:
+
+```
+docker run --name shenyu-admin -v ${your_work_dir}/conf:/opt/shenyu-admin/conf -d -p 9095:9095 --net shenyu apache/shenyu-admin:${current.version}
+```
+
+* use `OpenGauss` to store data, follow the [guide document](./deployment-before.md#opengauss) to initialize the database, execute the following statement:
+
+```
+docker run --name shenyu-admin -e "SPRING_PROFILES_ACTIVE=og" -e "spring.datasource.url=jdbc:opengauss://localhost:5432/shenyu" -e "spring.datasource.username=${your_username}" -e "spring.datasource.password=${your_password}" -d -p 9095:9095 --net shenyu apache/shenyu-admin:${current.version}
+```
+
+another way is to put the `application.yml`、`application-og.yml` configuration in ${your_work_dir}/conf, modify the configuration `spring.profiles.active = og` in `application.yml`, and then execute the following statement:
+
+```
+docker run --name shenyu-admin -v ${your_work_dir}/conf:/opt/shenyu-admin/conf -d -p 9095:9095 --net shenyu apache/shenyu-admin:${current.version}
+```
+
+### Start Apache ShenYu Bootstrap
+
+> After version 2.5.1, when `docker run`, we can customize JVM startup parameters by adding `-e BOOT_JVM="xxxx"`
+
+First, pull the docker image
+
+```shell
+docker pull apache/shenyu-bootstrap:${current.version}
+```
+
+If you don't need to modify the configuration, just use the command below to run the application
+
+```shell
+docker run -d \
+  -p 9195:9195 \
+  --name shenyu-bootstrap \
+  --net shenyu \
+  --env SHENYU_SYNC_WEBSOCKET_URLS=ws://shenyu-admin:9095/websocket \
+  apache/shenyu-bootstrap:${current.version}
+```
+
+> `SHENYU_SYNC_WEBSOCKET_URLS` indicates the websocket address that shenyu-bootstrap used to communicate with shenyu-admin
+
+If you need to modify the configuration, copy the configuration from the Github directory where the bootstrap [configuration file](https://github.com/apache/shenyu/tree/master/shenyu-bootstrap/src/main/resources) is located, then recorded it as `$BOOTSTRAP_CONF`. After your modification, execute the command below to run the application
+
+```shell
+docker run -d \
+  -p 9195:9195 \
+  -v $BOOTSTRAP_CONF:/opt/shenyu-bootstrap/conf \
+  --name shenyu-bootstrap \
+  --net shenyu \
+  --env SHENYU_SYNC_WEBSOCKET_URLS=ws://shenyu-admin:9095/websocket \
+  apache/shenyu-bootstrap:${current.version}
+```
diff --git a/versioned_docs/version-2.7.0.1/deployment/deployment-helm.md b/versioned_docs/version-2.7.0.1/deployment/deployment-helm.md
new file mode 100644
index 0000000000..5b70a29405
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/deployment/deployment-helm.md
@@ -0,0 +1,10 @@
+---
+sidebar_position: 5
+title: Helm Deployment
+keywords: ["Helm"]
+description: Helm Deployment
+---
+
+This article introduces the use of `helm` to deploy the `Apache ShenYu` gateway.
+
+Please refer to [Helm Deployment](https://shenyu.apache.org/helm/index/) for details.
diff --git a/versioned_docs/version-2.7.0.1/deployment/deployment-k8s.md b/versioned_docs/version-2.7.0.1/deployment/deployment-k8s.md
new file mode 100644
index 0000000000..2470e1c710
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/deployment/deployment-k8s.md
@@ -0,0 +1,863 @@
+---
+sidebar_position: 4
+title: K8s Deployment
+keywords: ["k8s"]
+description: K8s Deployment
+---
+
+> Before you read this document, you need to complete some preparations before deploying Shenyu according to the [Deployment Prerequisites document](./deployment-before.md).
+
+This article introduces the use of `K8s` to deploy the `Apache ShenYu` gateway.
+
+> Catalog
+>
+> Example 1: Using h2 as a database
+>
+> 1. create Namespace and ConfigMap
+> 2. deploying shenyu-admin
+> 3. deploy shenyu-bootstrap
+>
+> Example 2: Use MySQL as the database
+>
+> Similar to the h2 process, there are two points to note
+>
+> 1. you need to load [mysql-connector.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.18/mysql-connector-java-8.0.18.jar), the download command is executed when the container is started
+> 2. you need to specify an external MySQL database configuration
+>
+> The process is as follows.
+>
+> 1. create Namespace and ConfigMap
+> 2. deploy shenyu-admin
+> 3. deploy shenyu-bootstrap
+
+
+## Example 1: Using h2 as a database
+
+### 1. Create Namespace and ConfigMap
+
+- create shenyu-ns.yaml
+
+```yaml
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: shenyu
+  labels:
+    name: shenyu
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: shenyu-cm
+  namespace: shenyu
+data:
+  shenyu-admin-application.yml: |
+    server:
+      port: 9095
+      address: 0.0.0.0
+    spring:
+      profiles:
+        active: h2
+      thymeleaf:
+        cache: true
+        encoding: utf-8
+        enabled: true
+        prefix: classpath:/static/
+        suffix: .html
+      mvc:
+        pathmatch:
+          matching-strategy: ant_path_matcher
+    mybatis:
+      config-location: classpath:/mybatis/mybatis-config.xml
+      mapper-locations: classpath:/mappers/*.xml
+    shenyu:
+      register:
+        registerType: http #http #zookeeper #etcd #nacos #consul
+        serverLists: #localhost:2181 #http://localhost:2379 #localhost:8848
+        props:
+          sessionTimeout: 5000
+          connectionTimeout: 2000
+          checked: true
+          zombieCheckTimes: 5
+          scheduledTime: 10
+          nacosNameSpace: ShenyuRegisterCenter
+      sync:
+        websocket:
+          enabled: true
+          messageMaxSize: 10240
+          allowOrigins: ws://shenyu-admin-svc.shenyu.svc.cluster.local:9095;ws://shenyu-bootstrap-svc.shenyu.svc.cluster.local:9195;
+      ldap:
+        enabled: false
+        url: ldap://xxxx:xxx
+        bind-dn: cn=xxx,dc=xxx,dc=xxx
+        password: xxxx
+        base-dn: ou=xxx,dc=xxx,dc=xxx
+        object-class: person
+        login-field: cn
+      jwt:
+        expired-seconds: 86400000
+      shiro:
+        white-list:
+          - /
+          - /favicon.*
+          - /static/**
+          - /index**
+          - /platform/login
+          - /websocket
+          - /error
+          - /actuator/health
+          - /swagger-ui.html
+          - /webjars/**
+          - /swagger-resources/**
+          - /v2/api-docs
+          - /csrf
+      swagger:
+        enable: true
+      apidoc:
+        gatewayUrl: http://127.0.0.1:9195
+        envProps:
+          - envLabel: Test environment
+            addressLabel: Request Address
+            addressUrl: http://127.0.0.1:9195
+          - envLabel: Prod environment
+            addressLabel: Request Address
+            addressUrl: http://127.0.0.1:9195
+    logging:
+      level:
+        root: info
+        org.springframework.boot: info
+        org.apache.ibatis: info
+        org.apache.shenyu.bonuspoint: info
+        org.apache.shenyu.lottery: info
+        org.apache.shenyu: info
+  shenyu-admin-application-h2.yml: |
+    shenyu:
+      database:
+        dialect: h2
+        init_script: "sql-script/h2/schema.sql"
+        init_enable: true
+    spring:
+      datasource:
+        url: jdbc:h2:mem:~/shenyu;DB_CLOSE_DELAY=-1;MODE=MySQL;
+        username: sa
+        password: sa
+        driver-class-name: org.h2.Driver
+  shenyu-bootstrap-application.yml: |
+    server:
+      port: 9195
+      address: 0.0.0.0
+    spring:
+      main:
+        allow-bean-definition-overriding: true
+        allow-circular-references: true
+      application:
+        name: shenyu-bootstrap
+      codec:
+        max-in-memory-size: 2MB
+      cloud:
+        discovery:
+          enabled: false
+        nacos:
+          discovery:
+            server-addr: 127.0.0.1:8848 # Spring Cloud Alibaba Dubbo use this.
+            enabled: false
+            namespace: ShenyuRegisterCenter
+    eureka:
+      client:
+        enabled: false
+        serviceUrl:
+          defaultZone: http://localhost:8761/eureka/
+      instance:
+        prefer-ip-address: true
+    management:
+      health:
+        defaults:
+          enabled: false
+    shenyu:
+      matchCache:
+        selector:
+          selectorEnabled: false
+          initialCapacity: 10000 # initial capacity in cache
+          maximumSize: 10000 # max size in cache
+        rule:
+          initialCapacity: 10000 # initial capacity in cache
+          maximumSize: 10000 # max size in cache
+      trie:
+        childrenSize: 10000
+        pathVariableSize: 1000
+        pathRuleCacheSize: 1000
+        matchMode: antPathMatch
+      netty:
+        http:
+          # set to false, user can custom the netty tcp server config.
+          webServerFactoryEnabled: true
+          selectCount: 1
+          workerCount: 4
+          accessLog: false
+          serverSocketChannel:
+            soRcvBuf: 87380
+            soBackLog: 128
+            soReuseAddr: false
+            connectTimeoutMillis: 10000
+            writeBufferHighWaterMark: 65536
+            writeBufferLowWaterMark: 32768
+            writeSpinCount: 16
+            autoRead: false
+            allocType: "pooled"
+            messageSizeEstimator: 8
+            singleEventExecutorPerGroup: true
+          socketChannel:
+            soKeepAlive: false
+            soReuseAddr: false
+            soLinger: -1
+            tcpNoDelay: true
+            soRcvBuf: 87380
+            soSndBuf: 16384
+            ipTos: 0
+            allowHalfClosure: false
+            connectTimeoutMillis: 10000
+            writeBufferHighWaterMark: 65536
+            writeBufferLowWaterMark: 32768
+            writeSpinCount: 16
+            autoRead: false
+            allocType: "pooled"
+            messageSizeEstimator: 8
+            singleEventExecutorPerGroup: true
+      instance:
+        enabled: false
+        registerType: zookeeper #etcd #consul
+        serverLists: localhost:2181 #http://localhost:2379 #localhost:8848
+        props:
+      cross:
+        enabled: true
+        allowedHeaders:
+        allowedMethods: "*"
+        allowedAnyOrigin: true # the same of Access-Control-Allow-Origin: "*"
+        allowedExpose: ""
+        maxAge: "18000"
+        allowCredentials: true
+      switchConfig:
+        local: true
+      file:
+        enabled: true
+        maxSize : 10
+      sync:
+        websocket:
+          urls: ws://shenyu-admin-svc.shenyu.svc.cluster.local:9095/websocket
+          allowOrigin: ws://shenyu-bootstrap-svc.shenyu.svc.cluster.local:9195
+      exclude:
+        enabled: false
+        paths:
+          - /favicon.ico
+      fallback:
+        enabled: false
+        paths:
+          - /fallback/hystrix
+          - /fallback/resilience4j
+      health:
+        enabled: false
+        paths:
+          - /actuator/health
+          - /health_check
+      extPlugin:
+        path:
+        enabled: true
+        threads: 1
+        scheduleTime: 300
+        scheduleDelay: 30
+      scheduler:
+        enabled: false
+        type: fixed
+        threads: 16
+      upstreamCheck:
+        enabled: false
+        timeout: 3000
+        healthyThreshold: 1
+        unhealthyThreshold: 1
+        interval: 5000
+        printEnabled: true
+        printInterval: 60000
+      ribbon:
+        serverListRefreshInterval: 10000
+      metrics:
+        enabled: false
+        name : prometheus
+        host: 127.0.0.1
+        port: 8090
+        jmxConfig:
+        props:
+          jvm_enabled: true
+      local:
+        enabled: false
+        sha512Key: "BA3253876AED6BC22D4A6FF53D8406C6AD864195ED144AB5C87621B6C233B548BAEAE6956DF346EC8C17F5EA10F35EE3CBC514797ED7DDD3145464E2A0BAB413"
+    logging:
+      level:
+        root: info
+        org.springframework.boot: info
+        org.apache.ibatis: info
+        org.apache.shenyu.bonuspoint: info
+        org.apache.shenyu.lottery: info
+        org.apache.shenyu: info
+
+```
+
+- execute `kubectl apply -f shenyu-ns.yaml`
+
+### 2. Create shenyu-admin
+
+- create shenyu-admin.yaml
+
+```yaml
+# Example of using the nodeport type to expose ports
+apiVersion: v1
+kind: Service
+metadata:
+  namespace: shenyu
+  name: shenyu-admin-svc
+spec:
+  selector:
+    app: shenyu-admin
+  type: NodePort
+  ports:
+  - protocol: TCP
+    port: 9095
+    targetPort: 9095
+    nodePort: 31095
+---
+# shenyu-admin
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  namespace: shenyu
+  name: shenyu-admin
+spec:
+  selector:
+    matchLabels:
+      app: shenyu-admin
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: shenyu-admin
+    spec:
+      volumes:
+      - name: shenyu-admin-application
+        configMap:
+          name: shenyu-cm
+          items:
+          - key: shenyu-admin-application.yml
+            path: shenyu-admin-application.yml
+      - name: shenyu-admin-application-h2
+        configMap:
+          name: shenyu-cm
+          items:
+          - key: shenyu-admin-application-h2.yml
+            path: shenyu-admin-application-h2.yml
+      containers:
+      - name: shenyu-admin
+        image: apache/shenyu-admin:latest
+        imagePullPolicy: Always
+        ports:
+        - containerPort: 9095
+        env:
+        - name: 'TZ'
+          value: 'Asia/Beijing'
+        volumeMounts:
+        - name: shenyu-admin-application
+          mountPath: /opt/shenyu-admin/conf/application.yml
+          subPath: shenyu-admin-application.yml
+        - name: shenyu-admin-application-h2
+          mountPath: /opt/shenyu-admin/conf/application-h2.yml
+          subPath: shenyu-admin-application-h2.yml
+```
+
+- execute`kubectl apply -f shenyu-admin.yaml`
+
+### 3. Create shenyu-bootstrap
+
+- create shenyu-bootstrap.yaml
+
+```yaml
+# Example of using the nodeport type to expose ports
+apiVersion: v1
+kind: Service
+metadata:
+  namespace: shenyu
+  name: shenyu-bootstrap-svc
+spec:
+  selector:
+    app: shenyu-bootstrap
+  type: NodePort
+  ports:
+  - protocol: TCP
+    port: 9195
+    targetPort: 9195
+    nodePort: 31195
+---
+# shenyu-bootstrap
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  namespace: shenyu
+  name: shenyu-bootstrap
+spec:
+  selector:
+    matchLabels:
+      app: shenyu-bootstrap
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: shenyu-bootstrap
+    spec:
+      volumes:
+      - name: shenyu-bootstrap-application
+        configMap:
+          name: shenyu-cm
+          items:
+          - key: shenyu-bootstrap-application.yml
+            path: shenyu-bootstrap-application.yml
+      containers:
+      - name: shenyu-bootstrap
+        image: apache/shenyu-bootstrap:latest
+        ports:
+        - containerPort: 9195
+        env:
+        - name: TZ
+          value: Asia/Beijing
+        volumeMounts:
+        - name: shenyu-bootstrap-application
+          mountPath: /opt/shenyu-bootstrap/conf/application.yml
+          subPath: shenyu-bootstrap-application.yml
+```
+
+- execute `kubectl apply -f shenyu-bootstrap.yaml`
+
+
+## Example 2: Use MySQL as the database
+
+### 1. Create Namespace and ConfigMap
+
+- create shenyu-ns.yaml
+
+```yaml
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: shenyu
+  labels:
+    name: shenyu
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: shenyu-cm
+  namespace: shenyu
+data:
+  shenyu-admin-application.yml: |
+    server:
+      port: 9095
+      address: 0.0.0.0
+    spring:
+      profiles:
+        active: mysql
+      thymeleaf:
+        cache: true
+        encoding: utf-8
+        enabled: true
+        prefix: classpath:/static/
+        suffix: .html
+      mvc:
+        pathmatch:
+          matching-strategy: ant_path_matcher
+    mybatis:
+      config-location: classpath:/mybatis/mybatis-config.xml
+      mapper-locations: classpath:/mappers/*.xml
+    shenyu:
+      register:
+        registerType: http #http #zookeeper #etcd #nacos #consul
+        serverLists: #localhost:2181 #http://localhost:2379 #localhost:8848
+        props:
+          sessionTimeout: 5000
+          connectionTimeout: 2000
+          checked: true
+          zombieCheckTimes: 5
+          scheduledTime: 10
+          nacosNameSpace: ShenyuRegisterCenter
+      sync:
+        websocket:
+          enabled: true
+          messageMaxSize: 10240
+          allowOrigins: ws://shenyu-admin-svc.shenyu.svc.cluster.local:9095;ws://shenyu-bootstrap-svc.shenyu.svc.cluster.local:9195;
+      ldap:
+        enabled: false
+        url: ldap://xxxx:xxx
+        bind-dn: cn=xxx,dc=xxx,dc=xxx
+        password: xxxx
+        base-dn: ou=xxx,dc=xxx,dc=xxx
+        object-class: person
+        login-field: cn
+      jwt:
+        expired-seconds: 86400000
+      shiro:
+        white-list:
+          - /
+          - /favicon.*
+          - /static/**
+          - /index**
+          - /platform/login
+          - /websocket
+          - /error
+          - /actuator/health
+          - /swagger-ui.html
+          - /webjars/**
+          - /swagger-resources/**
+          - /v2/api-docs
+          - /csrf
+      swagger:
+        enable: true
+      apidoc:
+        gatewayUrl: http://127.0.0.1:9195
+        envProps:
+          - envLabel: Test environment
+            addressLabel: Request Address
+            addressUrl: http://127.0.0.1:9195
+          - envLabel: Prod environment
+            addressLabel: Request Address
+            addressUrl: http://127.0.0.1:9195
+    logging:
+      level:
+        root: info
+        org.springframework.boot: info
+        org.apache.ibatis: info
+        org.apache.shenyu.bonuspoint: info
+        org.apache.shenyu.lottery: info
+        org.apache.shenyu: info
+  shenyu-admin-application-mysql.yml: |
+    shenyu:
+      database:
+        dialect: mysql
+        init_script: "sql-script/mysql/schema.sql"
+        init_enable: true
+    spring:
+      datasource:
+        url: jdbc:mysql://{your_mysql_ip}:{your_mysql_port}/shenyu?useUnicode=true&characterEncoding=utf-8&useSSL=false
+        username: {your_mysql_user}
+        password: {your_mysql_password}
+        driver-class-name: com.mysql.jdbc.Driver
+  shenyu-bootstrap-application.yml: |
+    server:
+      port: 9195
+      address: 0.0.0.0
+    spring:
+      main:
+        allow-bean-definition-overriding: true
+        allow-circular-references: true
+      application:
+        name: shenyu-bootstrap
+      codec:
+        max-in-memory-size: 2MB
+      cloud:
+        discovery:
+          enabled: false
+        nacos:
+          discovery:
+            server-addr: 127.0.0.1:8848 # Spring Cloud Alibaba Dubbo use this.
+            enabled: false
+            namespace: ShenyuRegisterCenter
+    eureka:
+      client:
+        enabled: false
+        serviceUrl:
+          defaultZone: http://localhost:8761/eureka/
+      instance:
+        prefer-ip-address: true
+    management:
+      health:
+        defaults:
+          enabled: false
+    shenyu:
+      matchCache:
+        selector:
+          selectorEnabled: false
+          initialCapacity: 10000 # initial capacity in cache
+          maximumSize: 10000 # max size in cache
+        rule:
+          initialCapacity: 10000 # initial capacity in cache
+          maximumSize: 10000 # max size in cache
+      trie:
+        childrenSize: 10000
+        pathVariableSize: 1000
+        pathRuleCacheSize: 1000
+        matchMode: antPathMatch
+      netty:
+        http:
+          # set to false, user can custom the netty tcp server config.
+          webServerFactoryEnabled: true
+          selectCount: 1
+          workerCount: 4
+          accessLog: false
+          serverSocketChannel:
+            soRcvBuf: 87380
+            soBackLog: 128
+            soReuseAddr: false
+            connectTimeoutMillis: 10000
+            writeBufferHighWaterMark: 65536
+            writeBufferLowWaterMark: 32768
+            writeSpinCount: 16
+            autoRead: false
+            allocType: "pooled"
+            messageSizeEstimator: 8
+            singleEventExecutorPerGroup: true
+          socketChannel:
+            soKeepAlive: false
+            soReuseAddr: false
+            soLinger: -1
+            tcpNoDelay: true
+            soRcvBuf: 87380
+            soSndBuf: 16384
+            ipTos: 0
+            allowHalfClosure: false
+            connectTimeoutMillis: 10000
+            writeBufferHighWaterMark: 65536
+            writeBufferLowWaterMark: 32768
+            writeSpinCount: 16
+            autoRead: false
+            allocType: "pooled"
+            messageSizeEstimator: 8
+            singleEventExecutorPerGroup: true
+      instance:
+        enabled: false
+        registerType: zookeeper #etcd #consul
+        serverLists: localhost:2181 #http://localhost:2379 #localhost:8848
+        props:
+      cross:
+        enabled: true
+        allowedHeaders:
+        allowedMethods: "*"
+        allowedAnyOrigin: true # the same of Access-Control-Allow-Origin: "*"
+        allowedExpose: ""
+        maxAge: "18000"
+        allowCredentials: true
+      switchConfig:
+        local: true
+      file:
+        enabled: true
+        maxSize : 10
+      sync:
+        websocket:
+          urls: ws://shenyu-admin-svc.shenyu.svc.cluster.local:9095/websocket
+          allowOrigin: ws://shenyu-bootstrap-svc.shenyu.svc.cluster.local:9195
+      exclude:
+        enabled: false
+        paths:
+          - /favicon.ico
+      fallback:
+        enabled: false
+        paths:
+          - /fallback/hystrix
+          - /fallback/resilience4j
+      health:
+        enabled: false
+        paths:
+          - /actuator/health
+          - /health_check
+      extPlugin:
+        path:
+        enabled: true
+        threads: 1
+        scheduleTime: 300
+        scheduleDelay: 30
+      scheduler:
+        enabled: false
+        type: fixed
+        threads: 16
+      upstreamCheck:
+        enabled: false
+        timeout: 3000
+        healthyThreshold: 1
+        unhealthyThreshold: 1
+        interval: 5000
+        printEnabled: true
+        printInterval: 60000
+      ribbon:
+        serverListRefreshInterval: 10000
+      metrics:
+        enabled: false
+        name : prometheus
+        host: 127.0.0.1
+        port: 8090
+        jmxConfig:
+        props:
+          jvm_enabled: true
+      local:
+        enabled: false
+        sha512Key: "BA3253876AED6BC22D4A6FF53D8406C6AD864195ED144AB5C87621B6C233B548BAEAE6956DF346EC8C17F5EA10F35EE3CBC514797ED7DDD3145464E2A0BAB413"
+    logging:
+      level:
+        root: info
+        org.springframework.boot: info
+        org.apache.ibatis: info
+        org.apache.shenyu.bonuspoint: info
+        org.apache.shenyu.lottery: info
+        org.apache.shenyu: info
+```
+
+- execute `kubectl apply -f shenyu-ns.yaml`
+
+### 2. Create shenyu-admin
+
+- create shenyu-admin.yaml
+
+```yaml
+# Example of using the nodeport type to expose ports
+apiVersion: v1
+kind: Service
+metadata:
+  namespace: shenyu
+  name: shenyu-admin-svc
+spec:
+  selector:
+    app: shenyu-admin
+  type: NodePort
+  ports:
+  - protocol: TCP
+    port: 9095
+    targetPort: 9095
+    nodePort: 31095
+---
+# shenyu-admin
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  namespace: shenyu
+  name: shenyu-admin
+spec:
+  selector:
+    matchLabels:
+      app: shenyu-admin
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: shenyu-admin
+    spec:
+      volumes:
+      - name: shenyu-admin-application
+        configMap:
+          name: shenyu-cm
+          items:
+          - key: shenyu-admin-application.yml
+            path: shenyu-admin-application.yml
+      - name: shenyu-admin-application-mysql
+        configMap:
+          name: shenyu-cm
+          items:
+          - key: shenyu-admin-application-mysql.yml
+            path: shenyu-admin-application-mysql.yml
+      - name: mysql-connector-volume
+        emptyDir: {}
+      initContainers:
+      - name: download-mysql-jar
+        image: busybox:1.35.0
+        command: [ "sh","-c"]
+        args: ["wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.23/mysql-connector-java-8.0.23.jar;
+            wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.23/mysql-connector-java-8.0.23.jar.md5;
+            if [ $(md5sum mysql-connector-java-8.0.23.jar | cut -d ' ' -f1) = $(cat mysql-connector-java-8.0.23.jar.md5) ];
+            then echo success;
+            else echo failed;
+            exit 1;
+            fi;
+            mv /mysql-connector-java-8.0.23.jar /opt/shenyu-admin/ext-lib/mysql-connector-java.jar" ]
+        volumeMounts:
+        - name: mysql-connector-volume
+          mountPath: /opt/shenyu-admin/ext-lib
+      containers:
+      - name: shenyu-admin
+        image: apache/shenyu-admin:latest
+        imagePullPolicy: Always
+        ports:
+        - containerPort: 9095
+        env:
+        - name: 'TZ'
+          value: 'Asia/Beijing'
+        - name: SPRING_PROFILES_ACTIVE
+          value: mysql
+        volumeMounts:
+        - name: shenyu-admin-application
+          mountPath: /opt/shenyu-admin/conf/application.yml
+          subPath: shenyu-admin-application.yml
+        - name: shenyu-admin-application-mysql
+          mountPath: /opt/shenyu-admin/conf/application-mysql.yml
+          subPath: shenyu-admin-application-mysql.yml
+        - name: mysql-connector-volume
+          mountPath: /opt/shenyu-admin/ext-lib
+```
+
+- execute`kubectl apply -f shenyu-admin.yaml`
+
+### 3. Create shenyu-bootstrap
+
+- create shenyu-bootstrap.yaml
+
+```yaml
+# Example of using the nodeport type to expose ports
+apiVersion: v1
+kind: Service
+metadata:
+  namespace: shenyu
+  name: shenyu-bootstrap-svc
+spec:
+  selector:
+    app: shenyu-bootstrap
+  type: NodePort
+  ports:
+    - protocol: TCP
+      port: 9195
+      targetPort: 9195
+      nodePort: 31195
+---
+# shenyu-bootstrap
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  namespace: shenyu
+  name: shenyu-bootstrap
+spec:
+  selector:
+    matchLabels:
+      app: shenyu-bootstrap
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: shenyu-bootstrap
+    spec:
+      volumes:
+        - name: shenyu-bootstrap-application
+          configMap:
+            name: shenyu-cm
+            items:
+              - key: shenyu-bootstrap-application.yml
+                path: shenyu-bootstrap-application.yml
+      containers:
+        - name: shenyu-bootstrap
+          image: apache/shenyu-bootstrap:latest
+          ports:
+            - containerPort: 9195
+          env:
+            - name: TZ
+              value: Asia/Beijing
+          volumeMounts:
+            - name: shenyu-bootstrap-application
+              mountPath: /opt/shenyu-bootstrap/conf/application.yml
+              subPath: shenyu-bootstrap-application.yml
+```
+
+- execute `kubectl apply -f shenyu-bootstrap.yaml`
+
+## Test Access
+
+**Access Address**:http://{K8S_CLUSTER_IP}:31095/
+
+**Account/password**:admin/123456
diff --git a/versioned_docs/version-2.7.0.1/deployment/deployment-local.md b/versioned_docs/version-2.7.0.1/deployment/deployment-local.md
new file mode 100644
index 0000000000..6009dd8fa7
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/deployment/deployment-local.md
@@ -0,0 +1,52 @@
+---
+sidebar_position: 1
+title: Local Deployment
+keywords: ["Deployment"]
+description: Local Deployment
+---
+
+This article introduces how to start the `Apache ShenYu` gateway in the local environment.
+
+> Before you read this document, you need to complete some preparations before deploying Shenyu according to the [Deployment Prerequisites document](./deployment-before.md).
+
+### Environmental preparation
+
+* Install JDK1.8+ locally
+* Install Git locally
+* Install Maven locally
+* Choose a development tool, such as IDEA
+
+### Download the compiled code
+
+* Download
+
+```
+git clone https://github.com/apache/shenyu.git
+cd shenyu
+mvn clean install '-Dmaven.javadoc.skip=true' '-B' '-Drat.skip=true' '-Djacoco.skip=true' '-DskipITs' '-DskipTests'
+```
+
+* use the development tool to start `org.apache.shenyu.admin.ShenyuAdminBootstrap`,Visit http://localhost:9095, the default username and password are: `admin` and `123456` respectively.
+
+  * If you use `h2` for storage, set the variable `--spring.profiles.active = h2` and start the server.
+
+  * If you use `MySQL` for storage, follow the [guide document](./deployment-before.md#mysql) to initialize the database and modify the `JDBC` configuration in `application-mysql.yml`, set the variable `--spring.profiles.active = mysql` and start the server.
+
+  * If you use `PostgreSql` for storage, follow the [guide document](./deployment-before.md#postgresql) to initialize the database and modify the `JDBC` configuration in `application-pg.yml`, set the variable `--spring.profiles.active = pg` and start the server.
+
+  * If you use `Oracle` for storage, follow the [guide document](./deployment-before.md#oracle) to initialize the database and modify the `JDBC` configuration in `application-oracle.yml`, set the variable `--spring.profiles.active = oracle`.
+
+  * If you use `OpenGuass` for storage, follow the [guide document](./deployment-before.md#opengauss) to initialize the database and modify the `JDBC` configuration in `application-og.yml`, set the variable `--spring.profiles.active = og`.
+
+* use the development tool to start `org.apache.shenyu.bootstrap.ShenyuBootstrapApplication`.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/versioned_docs/version-2.7.0.1/deployment/deployment-package.md b/versioned_docs/version-2.7.0.1/deployment/deployment-package.md
new file mode 100644
index 0000000000..a1992ffcc3
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/deployment/deployment-package.md
@@ -0,0 +1,81 @@
+---
+sidebar_position: 2
+title: Binary Packages Deployment
+keywords: ["Deployment"] 
+description: Binary Packages Deployment
+---
+
+This article introduces the deployment of the `Apache ShenYu` gateway using the binary packages.
+
+> Before you read this document, you need to complete some preparations before deploying Shenyu according to the [Deployment Prerequisites document](./deployment-before.md).
+
+### Start Apache ShenYu Admin
+
+* download [apache-shenyu-${current.version}-admin-bin.tar.gz](https://archive.apache.org/dist/shenyu/2.6.0/apache-shenyu-2.6.0-admin-bin.tar.gz)
+
+* unzip `apache-shenyu-${current.version}-admin-bin.tar.gz`。 go to the `bin` directory.
+
+> After version 2.5.1, `start.sh` started to support custom JVM startup parameters through the environment variable `ADMIN_JVM`.
+
+* use `h2` to store data:
+
+```
+> windows: start.bat
+
+> linux: ./start.sh
+```
+
+* use `MySQL` to store data, follow the [guide document](./deployment-before.md#mysql) to initialize the database, copy [mysql-connector.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.18/mysql-connector-java-8.0.18.jar) to /$(your_work_dir)/ext-lib, go to the `/conf` directory, and modify the `JDBC` configuration in `application-mysql.yml`.
+
+* Modify `spring.profiles.active` in `conf/application.yml` to `mysql`
+
+```
+> windows: start.bat
+
+> linux: ./start.sh
+```
+
+* use `PostgreSql` to store data, follow the [guide document](./deployment-before.md#postgresql) to initialize the database, go to the `/conf` directory, and modify the `JDBC` configuration in `application-pg.yml`.
+
+* Modify `spring.profiles.active` in `conf/application.yml` to `pg`
+
+```
+> windows: start.bat
+
+> linux: ./start.sh --spring.profiles.active = pg
+```
+
+* use `Oracle` to store data, follow the [guide document](./deployment-before.md#oracle) to initialize the database, go to the `/conf` directory, and modify the `JDBC` configuration in `application-oracle.yml`.
+
+* Modify `spring.profiles.active` in `conf/application.yml` to `oracle`
+
+```
+> windows: start.bat
+
+> linux: ./start.sh
+```
+
+* use `OpenGauss` to store data, follow the [guide document](./deployment-before.md#opengauss) to initialize the database, go to the `/conf` directory, and modify the `JDBC` configuration in `application-og.yml`.
+
+* Modify `spring.profiles.active` in `conf/application.yml` to `og`
+
+```
+> windows: start.bat
+
+> linux: ./start.sh
+```
+
+### Start Apache ShenYu Bootstrap
+
+* download [apache-shenyu-${current.version}-bootstrap-bin.tar.gz](https://archive.apache.org/dist/shenyu/2.6.0/apache-shenyu-2.6.0-bootstrap-bin.tar.gz)
+
+* unzip `apache-shenyu-${current.version}-bootstrap-bin.tar.gz`。 go to the `bin` directory.
+
+> After version 2.5.1, `start.sh` started to support custom JVM startup parameters through the environment variable `BOOT_JVM`.
+
+```
+> windwos : start.bat 
+
+> linux : ./start.sh 
+```
+
diff --git a/versioned_docs/version-2.7.0.1/deployment/deployment-quick.md b/versioned_docs/version-2.7.0.1/deployment/deployment-quick.md
new file mode 100644
index 0000000000..81a5a267a2
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/deployment/deployment-quick.md
@@ -0,0 +1,109 @@
+---
+sidebar_position: 1
+title: Local Quick Deployment
+keywords: ["Deployment"]
+description: Local Quick Deployment
+---
+
+This article introduces how to quickly start the `Apache ShenYu` gateway in the standalone environment.
+
+> Before you read this document, you need to complete some preparations before deploying Shenyu according to the [Deployment Prerequisites document](./deployment-before.md).
+
+### Environmental preparation
+
+* Install JDK1.8+ locally
+
+### Start Apache ShenYu Bootstrap
+
+* download [apache-shenyu-${current.version}-bootstrap-bin.tar.gz](https://archive.apache.org/dist/shenyu/2.6.0/apache-shenyu-2.6.0-bootstrap-bin.tar.gz)
+
+* unzip `apache-shenyu-${current.version}-bootstrap-bin.tar.gz`。 go to the `bin` directory.
+
+```
+> windwos : start.bat 
+
+> linux : ./start.sh 
+```
+
+### Selector and rule configuration
+
+please refer to [Developer Local Model](../developer/local-model#add-selector-and-rules) add the selector and rule.
+
+example:
+
+* your service address is`http://127.0.0.1:8080/helloworld` and the response like follow:
+
+```json
+{
+  "name" : "Shenyu",
+  "data" : "hello world"
+}
+```
+
+* use the follow data to add selector and rule
+
+### by postman
+
+> Add `localKey: 123456` to Headers. If you need to customize the localKey, you can use the sha512 tool to generate the key based on plaintext and update the `shenyu.local.sha512Key` property.
+>
+> `POST` method,address`http://localhost:9195/shenyu/plugin/selectorAndRules`, body use `raw json` content:
+
+```
+Headers
+
+localKey: 123456
+```
+
+```json
+{
+    "pluginName": "divide",
+    "selectorHandler": "[{\"upstreamUrl\":\"127.0.0.1:8080\"}]",
+    "conditionDataList": [{
+        "paramType": "uri",
+        "operator": "match",
+        "paramValue": "/**"
+    }],
+    "ruleDataList": [{
+        "ruleHandler": "{\"loadBalance\":\"random\"}",
+        "conditionDataList": [{
+            "paramType": "uri",
+            "operator": "match",
+            "paramValue": "/**"
+        }]
+    }]
+}
+```
+
+### by curl
+
+```bash
+curl --location --request POST 'http://localhost:9195/shenyu/plugin/selectorAndRules' \
+--header 'Content-Type: application/json' \
+--header 'localKey: 123456' \
+--data-raw '{
+    "pluginName": "divide",
+    "selectorHandler": "[{\"upstreamUrl\":\"127.0.0.1:8080\"}]",
+    "conditionDataList": [{
+        "paramType": "uri",
+        "operator": "match",
+        "paramValue": "/**"
+    }],
+    "ruleDataList": [{
+        "ruleHandler": "{\"loadBalance\":\"random\"}",
+        "conditionDataList": [{
+            "paramType": "uri",
+            "operator": "match",
+            "paramValue": "/**"
+        }]
+    }]
+}'
+```
+
+* open `http://localhost:9195/helloworld`:
+
+```json
+{
+  "name" : "Shenyu",
+  "data" : "hello world"
+}
+```
diff --git a/versioned_docs/version-2.7.0.1/design/_category_.json b/versioned_docs/version-2.7.0.1/design/_category_.json
new file mode 100644
index 0000000000..727286eafa
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/design/_category_.json
@@ -0,0 +1,4 @@
+{
+  "label": "Design",
+  "position": 2
+}
diff --git a/versioned_docs/version-2.7.0.1/design/data-sync.md b/versioned_docs/version-2.7.0.1/design/data-sync.md
new file mode 100644
index 0000000000..e1256f7c52
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/design/data-sync.md
@@ -0,0 +1,121 @@
+---
+sidebar_position: 2
+title: Data Sync Design
+keywords: ["Apache ShenYu"]
+description: Data Synchronization Design
+---
+
+This document explains the principle of data synchronization. Data synchronization refers to the strategy used to synchronize data to ShenYu gateway after shenyu-admin background operation data. ShenYu gateway currently supports ZooKeeper, WebSocket, HTTP Long Polling, Nacos, Etcd and Consul for data synchronization.
+
+See [Data Synchronization Configuration](../user-guide/property-config/use-data-sync.md)  for configuration information about data synchronization.
+
+
+<img src="/img/shenyu/dataSync/data-sync-dir-en.png" width="90%" height="80%" />
+
+
+## Preface {#preface}
+
+Gateway is the entrance of request and it is a very important part in micro service architecture, therefore the importance of gateway high availability is self-evident. When we use gateway, we have to change configuration such as flow rule, route rule for satisfying business requirement. Therefore, the dynamic configuration of the gateway is an important factor to ensure the high availability of the gateway. 
+
+In the actual use of Apache ShenYu Gateway, users also feedback some problems:
+
+* Apache ShenYu depends on ZooKeeper, how to use Etcd, Consul, Nacos and other registry center?
+
+* Apache ShenYu depends on Redis and InfluxDB, and do not use limiting plugins or monitoring plugins. Why need these?
+
+* Why not use configuration center for configuration synchronization?
+
+* Why can't updates be configured dynamically?
+
+* Every time you want to query the database, Redis is a better way.
+
+According to the feedback of users, we have also partially reconstructed ShenYu. The current data synchronization features are as follows:
+
+
+* All configuration is cached in ShenYu gateway memory, each request uses local cache, which is very fast.
+
+* Users can modify any data in the background of shenyu-admin, and immediately synchronize to the gateway memory.
+
+* Support ShenYu plugin, selector, rule data, metadata, signature data and other data synchronization.
+
+* All plugin selectors and rules are configured dynamically and take effect immediately, no service restart required.
+
+* Data synchronization mode supports Zookeeper, HTTP long polling, Websocket, Nacos, Etcd and Consul.
+
+
+## Principle Analysis {#principle-analysis}
+
+The following figure shows the process of data synchronization of ShenYu. ShenYu Gateway will synchronize configuration data from configuration service at startup, and support push-pull mode to get configuration change information, and then update local cache. The administrator can change the user permissions, rules, plugins and traffic configuration in the admin system(shenyu-admin), and synchronize the change information to ShenYu Gateway through the push-pull mode. Whether the mode is [...]
+
+<img src="/img/shenyu/dataSync/shenyu-config-processor-en.png" width="90%" height="80%" />
+
+
+In the original version, the configuration service relied on the Zookeeper implementation to manage the back-end push of changes to the gateway. Now, WebSocket, HTTP long polling, ZooKeeper, Nacos, Etcd, and Consul can now be supported by specifying the corresponding synchronization policy by setting `shenyu.sync.${strategy}` in the configuration file. The default WeboSocket synchronization policy can be used to achieve second level data synchronization. However, it is important to note  [...]
+
+
+
+As showing picture below,`shenyu-admin` will issue a configuration change notification through `EventPublisher` after users change configuration,`EventDispatcher` will handle this modification and send configuration to corresponding event handler according to configured synchronization strategy.
+
+- If it is a `websocket` synchronization strategy,it will push modified data to `shenyu-web`,and corresponding `WebsocketDataHandler` handler will handle `shenyu-admin` data push at the gateway layer
+- If it is a  `zookeeper` synchronization strategy,it will push modified data to `zookeeper`,and the `ZookeeperSyncCache` will monitor the data changes of `zookeeper` and process them
+- If it is a  `http` synchronization strategy,`shenyu-web` proactively initiates long polling requests,90 seconds timeout by default,if there is no modified data in `shenyu-admin`,http request will be blocked,if there is a data change, it will respond to the changed data information,if there is no data change after 60 seconds,then respond with empty data,gateway continue to make http request after getting response,this kind of request will repeat.
+
+<img src="/img/shenyu/dataSync/config-strategy-processor-en.png" width="90%" height="80%" />
+
+### Zookeeper Synchronization {#zookeeper-synchronization}
+
+The zookeeper-based synchronization principle is very simple,it mainly depends on `zookeeper` watch mechanism,`shenyu-web` will monitor the configured node,when `shenyu-admin` starts,all the data will be written to `zookeeper`,it will incrementally update the nodes of `zookeeper` when data changes,at the same time, `shenyu-web` will monitor the node for configuration information, and update the local cache once the information changes
+
+![Zookeeper Node Design](https://yu199195.github.io/images/soul/soul-zookeeper.png)
+
+`Apache ShenYu` writes the configuration information to the zookeeper node,and it is meticulously designed. If you want to learn more about the code implementation, refer to the source code `ZookeeperSyncDataService`.
+
+### WebSocket Synchronization {#websocket-synchronization}
+
+The mechanism of `websocket` and `zookeeper` is similar,when the gateway and the `shenyu-admin` establish a `websocket` connection,`shenyu-admin` will push all data at once,it will automatically push incremental data to `shenyu-web` through `websocket` when configured data changes
+
+When we use websocket synchronization,pay attention to reconnect after disconnection,which also called keep heartbeat.`Apache ShenYu` uses `java-websocket` ,a third-party library,to connect to `websocket`. If you want to learn more about the code implementation, refer to the source code `WebsocketSyncDataService`.
+
+### Http Long Polling {#http-long-polling}
+
+The mechanism of zookeeper and websocket data synchronization is relatively simple,but http synchronization will be relatively complicated.ShenYu borrows the design ideas of `Apollo` and `Nacos` and realizes `http` long polling data synchronization using their advantages.Note that this is not traditional ajax long polling.
+
+<img src="/img/shenyu/dataSync/http-long-polling-en.png" width="90%" height="80%" />
+
+http long polling mechanism as above,shenyu-web gateway requests shenyu-admin configuration services,timeout is 90 seconds,it means gateway layer request configuration service will wait at most 90 seconds,this is convenient for shenyu-admin configuration service to respond modified data in time,and therefore we realize near real-time push.
+
+After the http request reaches shenyu-admin, it does not respond immediately,but uses the asynchronous mechanism of Servlet3.0 to asynchronously respond to the data.First of all,put long polling request task `LongPollingClient` into `BlocingQueue`,and then start scheduling task,execute after 60 seconds,this aims to remove the long polling request from the queue after 60 seconds,even there is no configured data change.Because even if there is no configuration change,gateway also need to k [...]
+
+
+If the administrator changes the configuration data during this period,the long polling requests in the queue will be removed one by one, and respond which group’s data has changed(we distribute plugins, rules, flow configuration , user configuration data into different groups).After gateway receives response,it only knows which Group has changed its configuration,it need to request again to get group configuration data.Someone may ask,why don't you write out the changed data directly?We [...]
+
+
+When `shenyu-web` gateway layer receives the http response information,pull modified information(if exists),and then request `shenyu-admin` configuration service again,this will repeatedly execute.   If you want to learn more about the code implementation, refer to the source code `HttpSyncDataService`.
+
+### Nacos Synchronization {#nacos-synchronization}
+
+
+The synchronization principle of Nacos is basically similar to that of ZooKeeper, and it mainly depends on the configuration management of Nacos. The path of each configuration node is similar to that of ZooKeeper.
+
+ShenYu gateway will monitor the configured node. At startup, if there is no configuration node in Nacos, it will write the synchronous full amount of data into Nacos. When the sequential data send changes, it will update the configuration node in Nacos in full amount. The local cache is updated.
+
+If you want to learn more about the code implementation, please refer to the source code `NacosSyncDataService` and the official documentation for [Nacos](https://nacos.io/zh-cn/docs/sdk.html) .
+
+### Etcd Synchronization {#etcd-synchronization}
+
+Etcd data synchronization principle is similar to Zookeeper, mainly relying on Etcd's watch mechanism, and each configuration node path is the same as that of Zookeeper.
+
+The native API for Etcd is a bit more complicated to use, so it's somewhat encapsulated.
+
+ShenYu gateway will listen to the configured node. When startup, if there is no configuration node in Etcd, it will write the synchronous full amount of data into Etcd. When the sequential data send changes, it will update the configuration node in Etcd incrementally.
+
+If you want to learn more about the code implementation, refer to the source `EtcdSyncDataService`.
+
+### Consul Synchronization {#consul-synchronization}
+
+
+Consul data synchronization principle is that the gateway regularly polls Consul's configuration center to get the configuration version number for local comparison.
+
+ShenYu gateway will poll the configured nodes regularly, and the default interval is 1s. When startup, if there is no configuration node in Consul, write the synchronous full amount of data into Consul, then incrementally update the configuration node in Consul when the subsequent data is sent to change. At the same time, Apache ShenYu Gateway will regularly polls the node of configuration information and pull the configuration version number for comparison with the local one. The local  [...]
+
+If you want to learn more about the code implementation, refer to the source `ConsulsyncDataService`.
diff --git a/versioned_docs/version-2.7.0.1/design/database-design.md b/versioned_docs/version-2.7.0.1/design/database-design.md
new file mode 100644
index 0000000000..5e03ce634f
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/design/database-design.md
@@ -0,0 +1,95 @@
+---
+sidebar_position: 1
+title: Admin Database Design
+keywords: ["db"]
+description: ShenYu Admin Database Design
+---
+
+Apache Shenyu Admin is the management system of the gateway, which can manage all plugins, selectors and rules visually, set users, roles and resources.
+
+## Plugin, Selector And Rule {#plugin-selector-and-rule}
+
+* Plugin: ShenYu uses the plugin design idea to realize the hot plug of the plugin, which is easy to expand. Built-in rich plugins, including RPC proxy, circuit breaker and current limiting, authority and certification, monitoring, and more.
+* Selector: Each plugin can set multiple selectors to carry out preliminary filtering of traffic.
+* Rule: Multiple rules can be set per selector for more fine-grained control of flow.
+
+* The Database Table UML Diagram:
+
+![](/img/shenyu/db/shenyu-db.png)
+
+* Detailed design:
+
+  * One plugin corresponds to multiple selectors,one selector corresponds to multiple rules.
+  
+  * One selector corresponds to multiple match conditions,one rule corresponds to multiple match conditions.
+  
+  * Each rule handles differently in corresponding plugin according to field handler,field handler is a kind of data of JSON string type.You can view detail during the use of shenyu-admin.
+  
+## Resource Permission {#resource-permission}
+
+* The resource are the menus and buttons in the shenyu-admin console.
+
+* Resource Permission use database to store user name,role,resource data and relationship. 
+
+* The Resource Permission Table UML Diagram:
+![](/img/shenyu/db/shenyu-permission-db.png)
+
+* Detailed design:
+  - one user corresponds to multiple role,one role corresponds to multiple resources.
+
+## Data Permission {#data-permission}
+
+* Data Permission use database to store the relationship between users, selectors and rules.
+
+* The Data Permission Table UML Diagram:
+![data permission uml](/img/shenyu/db/data_permission.png)
+
+
+* Detailed design:
+  * The most important table is `data_permission`, where a user corresponds to multiple data permissions.
+  * The field `data_type` distinguishes between different types of data, which corresponds to the following: 0 -> selector, 1 -> rule.
+  * The field `data_id` holds the primary key id of the corresponding type.
+
+## Meta Data {#meta-data}
+
+* Metadata is used for generic invoke by gateway.
+* For each interface method, there is one piece of metadata.
+* The Database Table UML Diagram:
+
+<img src="/img/shenyu/db/mata_data_table.png" width="30%" height="30%" />
+
+
+* Detailed design:
+  * `path`: When the gateway is requested, a piece of data will be matched according to `path`, and then the subsequent process will be carried out.
+
+  * `rpc_ext`: Used to hold extended information for the RPC proxy.。
+   
+## Dictionary Management {#dictionary-management}
+
+* Dictionary management is used to maintain and manage public data dictionaries.
+* The Database Table UML Diagram:
+
+<img src="/img/shenyu/db/shenyu_dict.png" width="30%" height="30%" />
+
+## API Documentation {#API-documentation}
+
+* The API document tables used to maintain and manage API documents.
+* The API document (such as json, md, html, etc.) of common specifications (such as OpenApi3.0 and yapi) can be imported into `shenyu-admin` and finally stored in the API document tables.
+* API documents of other common specifications can be generated through the API document tables.
+* The Database Table UML Diagram:
+
+<img src="/img/shenyu/db/shenyu-api-doc-table.png" width="105%" height="105%" />
+
+* Detailed design:
+  * A tag can have multiple child tags, the level of tags is unlimited, the lowest leaf node is API.
+  * Interfaces with the same path but supporting multiple http methods, they are counted as multiple APIs.
+  * An API has multiple request parameters and response fields.
+  * A parameter/field has its own type (model), and each type have multiple fields.
+  * A field has its own type, which corresponds to multiple values.
+  * A value can be used as either a request example value, or a response example value (for example, 200 indicates OK, and 400 indicates illegal parameters).
+  * The `query`, `header` and `body`, all of them are `json` stored in `mock_request_record`,but `body` does not support special types such as file。
+  * The `ext` of the `tag` table stores the full amount of json data of its parent tag (including the parent tag of the parent tag, and so on).
+  * The `ext` of the `api` table may store the IP list and the service name of `SpringCloud`.
+  * The `type` of the `parameter` table mainly includes `requestUrlParam`, `requestHeader`, `requestBody`, `requestPathVariable`, `responseHeader`, and `responseBody`; If the returned type is a special type (such as file), do not associate `model_id`.
+  * The `ext` of the `field` table stores generic type in json format (convenient for subsequent expansion), such as `{"genericTypes": [model_id1, model_id2]}`; `model_id` indicates which type has this field, `self_model_id` indicates which type of this field.
+  * The `is_example` of `detail` table indicates whether a value is a request sample value, true is a request sample value, and false is a response value.
diff --git a/versioned_docs/version-2.7.0.1/design/flow-control.md b/versioned_docs/version-2.7.0.1/design/flow-control.md
new file mode 100644
index 0000000000..9f33519b2b
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/design/flow-control.md
@@ -0,0 +1,36 @@
+---
+title: Flow Control Design
+keywords: ["flow-control"]
+description:  ShenYu Flow Control Design
+---
+
+ShenYu gateway realizes flow control through plugins, selectors and rules. For related data structure, please refer to the previous [Apache ShenYu Admin Database Design](./database-design) .
+
+
+### Plugin
+
+In Apache ShenYu Admin System, each plugin uses Handle (JSON format) fields to represent different processing, and the plugin processing is used to manage and edit the custom processing fields in the JSON.
+
+The main purpose of this feature is to enable plugins to handle templated configurations.
+
+### Selector And Rule
+
+Selector and rule are the most soul of Apache ShenYu Gateway. Master it and you can manage any traffic.
+
+A plugin has multiple selectors, and one selector corresponds to multiple rules. The selector is the first level filter of traffic, and the rule is the final filter. For a plugin, we want to meet the traffic criteria based on our configuration before the plugin will be executed. Selectors and rules are designed to allow traffic to perform what we want under certain conditions. The rules need to be understood first.
+
+The execution logic of plugin, selector and rule is as follows. When the traffic enters into ShenYu gateway, it will first judge whether there is a corresponding plugin and whether the plugin is turned on. Then determine whether the traffic matches the selector of the plugin. It then determines whether the traffic matches the rules of the selector. If the request traffic meets the matching criteria, the plugin will be executed. Otherwise, the plugin will not be executed. Process the next [...]
+
+<img src="/img/shenyu/dataSync/flow-control-en.png" width="40%" height="30%" />
+
+
+### Traffic filtering
+
+<img src="/img/shenyu/design/flow-condition.png" width="30%" height="30%" />
+
+Traffic filtering is the soul of the selector and the rule, corresponding to the matching conditions in the selector and the rule. According to different traffic filtering rules, we can deal with various complex scenes. Traffic filtering can fetch data from Http requests such as `Header`, `URI`, `Query`, `Cookie`, etc.
+
+You can then use `Match`, `=`, `SpEL`, `Regex`, `Groovy`, `Exclude`, etc, to Match the desired data. Multi-group matching Adds matching policies that can use And/Or.
+
+
+please refer to [Selector And Rule Config](../user-guide/admin-usage/selector-and-rule) for details.
diff --git a/versioned_docs/version-2.7.0.1/design/register-center-design.md b/versioned_docs/version-2.7.0.1/design/register-center-design.md
new file mode 100644
index 0000000000..7640e99aa5
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/design/register-center-design.md
@@ -0,0 +1,61 @@
+---
+title: Client Registry Design
+keywords: ["Client Access"]
+description: Application Client Access
+---
+
+> *Notice*
+> After ShenYu version 2.6.1, the ShenYu register just support http type, and the middleware register type has been removed.
+> So, please use the http register type to register your service.
+> ShenYu Register Center isn't microservice register center, it just register metadata, selector data, rule data to shenyu-admin, and then shenyu-admin will sync data to shenyu-gateway.
+
+
+Application client access means to access your microservice to ShenYu gateway, currently supports HTTP, Dubbo, Spring Cloud, gRPC, Motan, Sofa, Tars and other protocols access.
+
+Refer to the client access configuration in the user documentation for [Application Client Access Config](../user-guide/property-config/register-center-access.md) .
+
+<img src="/img/shenyu/register/application-client-access-en.png" width="70%" height="60%" />
+
+
+## Design principle
+
+#### Client
+
+![](/img/shenyu/register/client.png)
+
+Declare the registry client type, such as HTTP, in your microservice configuration. Use SPI to load and initialize the corresponding registry client when the application starts, implement the post-processor interface associated with the Spring Bean, get the service interface information to register in it, and place the obtained information into Disruptor.
+
+The Registry client reads data from the Disruptor and registers the interface information with shenyu-admin, where the Disruptor decouples data from operations for scaling.
+
+#### Server
+
+![](/img/shenyu/register/server.png)
+
+Declare the registry server type, such as HTTP in the Shenyu-Admin configuration. When shenyu-admin is started, it will read the configuration type, load and initialize the corresponding registry server, and when the registry server receives the interface information registered by shenyu-client, it will put it into Disruptor, which will trigger the registration processing logic to update the interface information and publish a synchronous event.
+
+Disruptor provides data and operations decoupling for expansion. If there are too many registration requests, resulting in abnormal registration, there is also a data buffer role.
+
+## Http Registry
+
+The principle of HTTP service registration is relatively simple. After Shenyu-Client is started, the relevant service registration interface of Shenyu-Admin will be called to upload data for registration.
+
+After receiving the request, shenyu-admin will update the data and publish the data synchronization event to synchronize the interface information to ShenYu Gateway.
+
+## SPI
+
+| *SPI Name*                       | *Description*               |
+| -------------------------------- | --------------------------- |
+| ShenyuClientRegisterRepository   | ShenYu client register SPI       |
+
+| *Implementation Class*           | *Description*               |
+| -------------------------------- | --------------------------- |
+| HttpClientRegisterRepository     | Http client register repository |
+
+
+| *SPI Name*                       | *Description*                 |
+| -------------------------------- | ----------------------------- |
+| ShenyuServerRegisterRepository     | ShenYu server register SPI      |
+
+| *Implementation Class*           | *Description*                 |
+| -------------------------------- | ----------------------------- |
+| ShenyuHttpRegistryController       | Http server repository        |
diff --git a/versioned_docs/version-2.7.0.1/design/spi-design.md b/versioned_docs/version-2.7.0.1/design/spi-design.md
new file mode 100644
index 0000000000..4aee421841
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/design/spi-design.md
@@ -0,0 +1,49 @@
+---
+title: SPI Design
+keywords: ["spi design"]
+description:  spi-design
+---
+
+
+SPI, called Service Provider Interface, is a built-in JDK Service that provides discovery function and a dynamic replacement discovery mechanism.
+
+
+[shenyu-spi](https://github.com/apache/shenyu/tree/master/shenyu-spi) is a custom SPI extension implementation for Apache Shenyu gateway. The design and implementation principles refer to [SPI Extension Implementations](https://dubbo.apache.org/en/docs/v2.7/dev/impls/) .
+
+
+### Registry Center
+
+`Consul`, `Etcd`, `Http`, `Nacos` and `Zookeeper` are supported. The expansion of the registry including client and server, interface respectively `ShenyuServerRegisterRepository` and `ShenyuClientRegisterRepository`.
+
+### Metrics Center
+
+Responsible for service monitoring, loading concrete implementation through `SPI`, currently support `Prometheus`, service interface is `MetricsService`.
+
+
+
+### Load Balance
+
+Select one of the service providers to call. Currently, the supported algorithms are `Has`, `Random`, and `RoundRobin`, and the extended interface is `LoadBalance`.
+
+### RateLimiter
+
+
+In the `RateLimiter` plugin, which stream limiting algorithm to use, currently supporting `Concurren`, `LeakyBucke`, `SlidingWindow` and `TokenBucket`, the extension interface is `RateLimiterAlgorithm`.
+
+
+### Match Strategy
+
+Which matching method to use when adding selectors And rules, currently supports `And`, `Or`, And the extension interface is `MatchStrategy`.
+
+
+### Parameter Data
+
+
+Currently, `URI`,`RequestMethod`, `Query`, `Post`, `IP`, `Host`, `Cookie`, and `Header` are supported. The extended interface is `ParameterData`.
+
+
+### Predicate Judge
+
+Which conditional policy to use when adding selectors and rules currently supports `Match`, `Contains`,`Equals`, `Groovy`, `Regex`, `SpEL`, `TimerAfter`, `TimerBefore` and `Exclude`. The extension interface is `PredicateJudge`.
+
+
diff --git a/versioned_docs/version-2.7.0.1/design/wasm-plugin-design.md b/versioned_docs/version-2.7.0.1/design/wasm-plugin-design.md
new file mode 100644
index 0000000000..60f9eff0dc
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/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/versioned_docs/version-2.7.0.1/developer/_category_.json b/versioned_docs/version-2.7.0.1/developer/_category_.json
new file mode 100644
index 0000000000..0dd2e4019e
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/_category_.json
@@ -0,0 +1,4 @@
+{
+  "label": "Developer",
+  "position": 7
+}
diff --git a/versioned_docs/version-2.7.0.1/developer/custom-filter.md b/versioned_docs/version-2.7.0.1/developer/custom-filter.md
new file mode 100644
index 0000000000..211d3bc2de
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/custom-filter.md
@@ -0,0 +1,109 @@
+---
+title: Custom Filter
+keywords: ["Custom Filter"]
+description: custom filter
+---
+
+## Description
+
+* This doc shows a demo for how to extend `org.springframework.web.server.WebFliter`.
+
+## CORS Support
+
+* `org.apache.shenyu.web.filter.CrossFilter` is designed for `WebFilter` implementation.
+
+ ```java
+ public class CrossFilter implements WebFilter {
+
+     private static final String ALLOWED_HEADERS = "x-requested-with, authorization, Content-Type, Authorization, credential, X-XSRF-TOKEN,token,username,client";
+
+     private static final String ALLOWED_METHODS = "*";
+
+     private static final String ALLOWED_ORIGIN = "*";
+
+     private static final String ALLOWED_EXPOSE = "*";
+
+     private static final String MAX_AGE = "18000";
+
+     @Override
+     @SuppressWarnings("all")
+     public Mono<Void> filter(final ServerWebExchange exchange, final WebFilterChain chain) {
+         ServerHttpRequest request = exchange.getRequest();
+         if (CorsUtils.isCorsRequest(request)) {
+             ServerHttpResponse response = exchange.getResponse();
+             HttpHeaders headers = response.getHeaders();
+             headers.add("Access-Control-Allow-Origin", ALLOWED_ORIGIN);
+             headers.add("Access-Control-Allow-Methods", ALLOWED_METHODS);
+             headers.add("Access-Control-Max-Age", MAX_AGE);
+             headers.add("Access-Control-Allow-Headers", ALLOWED_HEADERS);
+             headers.add("Access-Control-Expose-Headers", ALLOWED_EXPOSE);
+             headers.add("Access-Control-Allow-Credentials", "true");
+             if (request.getMethod() == HttpMethod.OPTIONS) {
+                 response.setStatusCode(HttpStatus.OK);
+                 return Mono.empty();
+             }
+         }
+         return chain.filter(exchange);
+     }
+ }
+ ```
+
+* Registering `CrossFilter` as a `Spring Bean`.
+
+## Filtering Spring Boot health check
+
+* You can control the order by applying `@Order` to the implementation class .
+
+```java
+@Component
+@Order(-99)
+public final class HealthFilter implements WebFilter {
+
+    private static final String[] FILTER_TAG = {"/actuator/health", "/health_check"};
+
+    @Override
+    public Mono<Void> filter(@Nullable final ServerWebExchange exchange, @Nullable final WebFilterChain chain) {
+        ServerHttpRequest request = Objects.requireNonNull(exchange).getRequest();
+        String urlPath = request.getURI().getPath();
+        for (String check : FILTER_TAG) {
+            if (check.equals(urlPath)) {
+                String result = JsonUtils.toJson(new Health.Builder().up().build());
+                DataBuffer dataBuffer = exchange.getResponse().bufferFactory().wrap(result.getBytes());
+                return exchange.getResponse().writeWith(Mono.just(dataBuffer));
+            }
+        }
+        return Objects.requireNonNull(chain).filter(exchange);
+    }
+}
+
+```
+
+## Extending `org.apache.shenyu.web.filter.AbstractWebFilter`
+
+* Add a new class and inherit from `org.apache.shenyu.web.filter.AbstractWebFilter`.
+* Implement abstract methods of parent class.
+
+```java
+   /**
+     * this is Template Method ,children Implement your own filtering logic.
+     *
+     * @param exchange the current server exchange
+     * @param chain    provides a way to delegate to the next filter
+     * @return {@code Mono<Boolean>} result:TRUE (is pass),and flow next filter;FALSE (is not pass) execute doDenyResponse(ServerWebExchange exchange)
+     */
+    protected abstract Mono<Boolean> doFilter(ServerWebExchange exchange, WebFilterChain chain);
+
+    /**
+     * this is Template Method ,children Implement your own And response client.
+     *
+     * @param exchange the current server exchange.
+     * @return {@code Mono<Void>} response msg.
+     */
+    protected abstract Mono<Void> doDenyResponse(ServerWebExchange exchange);
+```
+
+* if method `doFilter` returns `Mono<true>`, this filter is passing, While rejecting, it will call method `doDenyResponse` and sending infos in response body to frontend.
+
+
+
+
diff --git a/versioned_docs/version-2.7.0.1/developer/custom-jwt-covert-algorithm.md b/versioned_docs/version-2.7.0.1/developer/custom-jwt-covert-algorithm.md
new file mode 100644
index 0000000000..b51343ed3b
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/custom-jwt-covert-algorithm.md
@@ -0,0 +1,92 @@
+---
+title: Custom Jwt convert Algorithm
+keywords: ["Custom Jwt Convert"]
+description: Custom Jwt convert Algorithm
+---
+
+
+
+## Description
+
+* Users can customize the convert algorithm of `Jwt-plugin` to achieve convert.
+
+
+
+## Extension
+
+ The default implementation is `org.apache.shenyu.plugin.jwt.strategy.DefaultJwtConvertStrategy`. The SPI mechanism is adopted for extension, and the steps are as follows:
+
+1. Implements interface `org.apache.shenyu.plugin.jwt.strategy.JwtConvertStrategy`
+
+    ```java
+       /**
+        * Represents a conversion strategy that convert jwt to some attributes of
+        * serverWebExchange, especially attributes of the request header.
+        */
+       @SPI
+       public interface JwtConvertStrategy {
+       
+           /**
+            * HandleJson needs to be parsed into jwtRuleHandle in order to
+            * specify how to convert jwt.
+            *
+            * @param handleJson handleJson from rule
+            * @return jwtRuleHandle
+            */
+           JwtRuleHandle parseHandleJson(String handleJson);
+       
+           /**
+            * Converts jwt to some attributes of serverWebExchange based on jwtRuleHandle.
+            *
+            * @param jwtRuleHandle jwtRuleHandle
+            * @param exchange      exchange
+            * @param jwtBody       jwtBody
+            * @return serverWebExchange
+            */
+           ServerWebExchange convert(JwtRuleHandle jwtRuleHandle, ServerWebExchange exchange, Map<String, Object> jwtBody);
+       
+       }
+    ```
+
+   ```java
+   
+       @Join
+       public class CustomJwtConvertStrategy implements JwtConvertStrategy {
+       
+           @Override
+           public CustomJwtRuleHandle parseHandleJson(final String handleJson) {
+       
+               return GsonUtils.getInstance().fromJson(handleJson, CustomJwtRuleHandle.class);
+           }
+       
+           @Override
+           public ServerWebExchange convert(final JwtRuleHandle jwtRuleHandle, final ServerWebExchange exchange, final Map<String, Object> jwtBody) {
+               final CustomJwtRuleHandle customJwtRuleHandle = (CustomJwtRuleHandle) jwtRuleHandle;
+               String customConvert = customJwtRuleHandle.getCustomConvert();
+               ServerHttpRequest modifiedRequest =
+                       exchange.getRequest().mutate().header("custom", customConvert).build();
+       
+               return exchange.mutate().request(modifiedRequest).build();
+           }
+       }
+   ```
+
+2. Configures SPI
+
+      ```tex
+      custom=org.apache.shenyu.plugin.jwt.strategy.CustomJwtConvertStrategy
+      ```
+
+
+
+The project would use different conversion strategies based on the`handleType` parameter of  `JwtRuleHandle` . For example, for the following `JwtRuleHandle`,the project  would use our above `CustomJwtConvertStrategy` . (Note: ` handleType ` is `default` or nonexistent, the project would use default `DefaultJwtConvertStrategy`)
+
+```json
+{
+    "handleType":"custom",
+ 	"customConvert":"customConvert"
+}
+```
+
+The case code is available for viewing in `org.apache.shenyu.plugin.jwt.strategy.CustomJwtConvertStrategy`
+
diff --git a/versioned_docs/version-2.7.0.1/developer/custom-parsing-ip-and-host.md b/versioned_docs/version-2.7.0.1/developer/custom-parsing-ip-and-host.md
new file mode 100644
index 0000000000..a974f75343
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/custom-parsing-ip-and-host.md
@@ -0,0 +1,51 @@
+---
+title: Fetching Correct IP Address And Host
+keywords: ["Apache ShenYu"]
+description: Fetching correct IP address and host
+---
+
+## Description
+
+* This doc demonstrates how to get correct IP address and host when `Apache ShenYu` serves behind `nginx` reverse proxy.
+* After fetched real `IP` and `host`, you can match them with plugins and selectors.
+
+## Default Implementation
+
+* The embedded implementation in `Apache ShenYu` is :`org.apache.shenyu.web.forward.ForwardedRemoteAddressResolver`.
+
+* You need to config `X-Forwarded-For` in `nginx` first to get correct `IP address` and `host`.
+
+
+## Implement through a Plugin
+
+* Declare a new class named `CustomRemoteAddressResolver` and implements `org.apache.shenyu.plugin.api.RemoteAddressResolver`.
+
+```java
+public interface RemoteAddressResolver {
+
+    /**
+     * Resolve inet socket address.
+     *
+     * @param exchange the exchange
+     * @return the inet socket address
+     */
+    default InetSocketAddress resolve(ServerWebExchange exchange) {
+        return exchange.getRequest().getRemoteAddress();
+    }
+
+}
+```
+
+* Register defined class as a `Spring Bean`.
+
+```java
+   @Bean
+   public SignService customRemoteAddressResolver() {
+         return new CustomRemoteAddressResolver();
+   }
+```
+
+
+
+
+
diff --git a/versioned_docs/version-2.7.0.1/developer/custom-plugin.md b/versioned_docs/version-2.7.0.1/developer/custom-plugin.md
new file mode 100644
index 0000000000..76645c8dcd
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/custom-plugin.md
@@ -0,0 +1,487 @@
+---
+title: Custom Plugin
+keywords: ["Custom Plugin"]
+description: plugins
+---
+
+## Description
+
+* Plugins are core executors of `Apache ShenYu` gateway. Every plugin handles matched requests when enabled.
+* There are two kinds of plugins in the `Apache ShenYu` gateway.
+  * The first type is a chain with single responsibility, and can not custom filtering of traffic.
+  * The other one can do its own chain of responsibility for matched traffic.
+* You could reference from [shenyu-plugin](https://github.com/apache/shenyu/tree/master/shenyu-plugin) module and develop plugins by yourself. Please fire pull requests of your wonderful plugins without hesitate.
+
+## Single Responsibility Plugins
+
+* Add following dependency:
+
+```xml
+<dependency>
+    <groupId>org.apache.shenyu</groupId>
+    <artifactId>shenyu-plugin-api</artifactId>
+    <version>${project.version}</version>
+</dependency>
+```
+
+* Declare a new class named `MyShenyuPlugin` and implements `org.apache.shenyu.plugin.api.ShenyuPlugin`
+
+```java
+public interface ShenyuPlugin {
+
+    /**
+     * Process the Web request and (optionally) delegate to the next
+     * {@code WebFilter} through the given {@link ShenyuPluginChain}.
+     *
+     * @param exchange the current server exchange
+     * @param chain    provides a way to delegate to the next filter
+     * @return {@code Mono<Void>} to indicate when request processing is complete
+     */
+    Mono<Void> execute(ServerWebExchange exchange, ShenyuPluginChain chain);
+
+    /**
+     * return plugin order .
+     * This attribute To determine the plugin execution order in the same type plugin.
+     *
+     * @return int order
+     */
+    int getOrder();
+
+    /**
+     * acquire plugin name.
+     * this is plugin name define you must offer the right name.
+     * if you impl AbstractShenyuPlugin this attribute not use.
+     *
+     * @return plugin name.
+     */
+    default String named() {
+        return "";
+    }
+
+    /**
+     * plugin is execute.
+     * if return true this plugin can not execute.
+     *
+     * @param exchange the current server exchange
+     * @return default false.
+     */
+    default Boolean skip(ServerWebExchange exchange) {
+        return false;
+    }
+}
+
+```
+
+Detailed instruction of interface methods:
+
+* `execute()` core method, you can do any task here freely.
+* `getOrder()` get the order of current plugin.
+* `named()` acquire the name of specific plugin that uses the `Camel Case`, eg: `dubbo`, `springCloud` .
+* `skip()` determines whether this plugin should be skipped under certain conditions.
+* Register plugin in `Spring` as a `Bean`, or simply apply `@Component` in implementation class.
+
+```java
+    @Bean
+    public ShenyuPlugin myShenyuPlugin() {
+        return new MyShenyuPlugin();
+    }
+```
+
+## Single Responsibility Plugin in Multiple Languages
+
+* The above is about writing a single responsibility plugin in Java. If you want to write plugins in another language, at least the language you are good at supporting `WASM`, you can find resources [here](https://shenyu.apache.org/docs/next/design/wasm-plugin-design/) . After you have learned about `WASM`, let's introduce the following dependency to build the Java part of the plugin:
+
+```xml
+<dependency>
+    <groupId>org.apache.shenyu</groupId>
+    <artifactId>shenyu-plugin-wasm-api</artifactId>
+    <version>${project.version}</version>
+</dependency>
+```
+
+* Add a new class `MyShenyuWasmPlugin`, inherit from `org.apache.shenyu.plugin.wasm.api.AbstractWasmPlugin`
+
+```java
+package x.y.z;
+
+public class MyShenyuWasmPlugin extends AbstractWasmPlugin {
+    
+    private static final Map<Long, String> RESULTS = new ConcurrentHashMap<>();
+    
+    @Override
+    public int getOrder() {
+        // your plugin order
+        return 0;
+    }
+    
+    @Override
+    public String named() {
+        return "yourPluginName";
+    }
+    
+    @Override
+    protected Mono<Void> doExecute(final ServerWebExchange exchange, final ShenyuPluginChain chain, final Long argumentId) {
+        final String result = RESULTS.remove(argumentId);
+        // Results returned by calling other languages
+        return chain.execute(exchange);
+    }
+    
+    @Override
+    protected Long getArgumentId(final ServerWebExchange exchange, final ShenyuPluginChain chain) {
+        // Need to generate unique IDs for parameters based on exchange and chain
+        return 0L;
+    }
+    
+    @Override
+    protected Map<String, Func> initWasmCallJavaFunc(final Store<Void> store) {
+        Map<String, Func> funcMap = new HashMap<>();
+        funcMap.put("get_args", WasmFunctions.wrap(store, WasmValType.I64, WasmValType.I64, WasmValType.I32, WasmValType.I32,
+            (argId, addr, len) -> {
+                // Callbacks for obtaining parameters from Java in other languages
+                String config = "hello from java " + argId;
+                LOG.info("java side->" + config);
+                ByteBuffer buf = super.getBuffer();
+                for (int i = 0; i < len && i < config.length(); i++) {
+                    buf.put(addr.intValue() + i, (byte) config.charAt(i));
+                }
+                return Math.min(config.length(), len);
+            }));
+        funcMap.put("put_result", WasmFunctions.wrap(store, WasmValType.I64, WasmValType.I64, WasmValType.I32, WasmValType.I32,
+            (argId, addr, len) -> {
+                // Callbacks that pass call results to Java in other languages
+                ByteBuffer buf = super.getBuffer();
+                byte[] bytes = new byte[len];
+                for (int i = 0; i < len; i++) {
+                    bytes[i] = buf.get(addr.intValue() + i);
+                }
+                String result = new String(bytes, StandardCharsets.UTF_8);
+                RESULTS.put(argId, result);
+                LOG.info("java side->" + result);
+                return 0;
+            }));
+        return funcMap;
+        }
+    }
+```
+
+* Create projects in other languages, using the Rust language as an example:
+
+```shell
+cd {shenyu}/shenyu-plugin/{your_plugin_moodule}/src/main
+cargo new --lib your_plugin_name
+```
+
+* Add `execute` method in `lib.rs`:
+
+```rust
+#[link(wasm_import_module = "shenyu")]
+extern "C" {
+    fn get_args(arg_id: i64, addr: i64, len: i32) -> i32;
+
+    fn put_result(arg_id: i64, addr: i64, len: i32) -> i32;
+}
+
+// Adding `#[no_mangle]` to prevent the Rust compiler from modifying method names is mandatory
+#[no_mangle]
+pub unsafe extern "C" fn execute(arg_id: i64) {
+    let mut buf = [0u8; 32];
+    let buf_ptr = buf.as_mut_ptr() as i64;
+    eprintln!("rust side-> buffer base address: {}", buf_ptr);
+    // Get parameters from Java
+    let len = get_args(arg_id, buf_ptr, buf.len() as i32);
+    let java_arg = std::str::from_utf8(&buf[..len as usize]).unwrap();
+    eprintln!("rust side-> recv:{}", java_arg);
+    // Add plugin logic for the Rust section here, such as rpc calls, etc
+    // Pass the call result of rust to Java
+    let rust_result = "rust result".as_bytes();
+    let result_ptr = rust_result.as_ptr() as i64;
+    _ = put_result(arg_id, result_ptr, rust_result.len() as i32);
+}
+```
+
+* Add `[lib]` to `Cargo.toml` and change `crate-type` to `["cdylib"]`. Ultimately, your `Cargo.toml` should look like:
+
+```toml
+[package]
+name = "your_plugin_name"
+version = "0.1.0"
+edition = "2021"
+
+[dependencies]
+# ......
+
+[lib]
+crate-type = ["cdylib"]
+```
+
+* Generate the wasm file:
+
+```shell
+cargo build --target wasm32-wasi --release
+```
+
+* You will see `{shenyu}/shenyu-plugin/{your_plugin_moodule}/src/main/{your_plugin_name}/target/wasm32-wasi/release/{your_plugin_name}.wasm`, then rename it, due to the `x.y.z.MyShenyuWasmPlugin`,the final wasm file name should be `x.y.z.MyShenyuWasmPlugin.wasm`, finally, put the wasm file in the `resources` folder of your plugin module.
+
+## Matching Traffic Processing Plugin
+
+* Introduce the following dependency:
+
+```xml
+ <dependency>
+    <groupId>org.apache.shenyu</groupId>
+    <artifactId>shenyu-plugin-base</artifactId>
+    <version>${project.version}</version>
+</dependency>
+```
+
+* Add a new class `CustomPlugin`, inherit from `org.apache.shenyu.plugin.base.AbstractShenyuPlugin`
+
+* examples down below:
+
+```java
+/**
+ * This is your custom plugin.
+ * He is running in after before plugin, implement your own functionality.
+ * extends AbstractShenyuPlugin so you must user shenyu-admin And add related plug-in development.
+ *
+ * @author xiaoyu(Myth)
+ */
+public class CustomPlugin extends AbstractShenyuPlugin {
+
+    /**
+     * return plugin order .
+     * The same plugin he executes in the same order.
+     *
+     * @return int
+     */
+    @Override
+    public int getOrder() {
+        return 0;
+    }
+
+    /**
+     * acquire plugin name.
+     * return you custom plugin name.
+     * It must be the same name as the plug-in you added in the admin background.
+     *
+     * @return plugin name.
+     */
+    @Override
+    public String named() {
+        return "shenYu";
+    }
+
+    /**
+     * plugin is execute.
+     * Do I need to skip.
+     * if you need skip return true.
+     *
+     * @param exchange the current server exchange
+     * @return default false.
+     */
+    @Override
+    public Boolean skip(final ServerWebExchange exchange) {
+        return false;
+    }
+
+    /**
+     * this is Template Method child has Implement your own logic.
+     *
+     * @param exchange exchange the current server exchange
+     * @param chain    chain the current chain
+     * @param selector selector
+     * @param rule     rule
+     * @return {@code Mono<Void>} to indicate when request handling is complete
+     */
+    @Override
+    protected abstract Mono<Void> doExecute(ServerWebExchange exchange, ShenyuPluginChain chain, SelectorData selector, RuleData rule) {
+        LOGGER.debug(".......... function plugin start..............");
+        /*
+         * Processing after your selector matches the rule.
+         * rule.getHandle() is you Customize the json string to be processed.
+         * for this example.
+         * Convert your custom json string pass to an entity class.
+         */
+        final String ruleHandle = rule.getHandle();
+
+        final Test test = GsonUtils.getInstance().fromJson(ruleHandle, Test.class);
+
+        /*
+         * Then do your own business processing.
+         * The last execution  chain.execute(exchange).
+         * Let it continue on the chain until the end.
+         */
+        System.out.println(test.toString());
+        return chain.execute(exchange);
+    }
+}
+
+```
+
+* Detailed explanation:
+
+  * Plugins will match the selector rule for customized plugins inherit from this abstract class.
+
+  * Firstly define a new plugin in `shenyu-admin`  –> BasicConfig –> Plugin, please mind that your plugin name should match the `named()` method overridden in your class.
+
+  * Re-login  `shenyu-admin`, the plugin you added now showing on plugin-list page, you can choose selectors for matching.
+
+  * There is a field named `handler` in rules, it is customized json string to be processed. You can process data after acquiring a ruleHandle (`final String ruleHandle = rule.getHandle();`) in `doExecute()` method.
+
+* Register plugin in `Spring` as a `Bean`, or simply apply `@Component` in implementation class.
+
+```java
+    @Bean
+    public ShenyuPlugin customPlugin() {
+        return new CustomPlugin();
+    }
+```
+
+## Matching Traffic Processing Plugin in Multiple Languages
+
+* The general logic is similar to [Single Responsibility Plugin in Multiple Languages](#Single Responsibility Plugin in Multiple Languages) , but the dependency in Java and the methods that need to be added in other languages are different from `Single Responsibility Plugin in Multiple Languages`. The following are the dependency required for the Java part of the `Multi Language Matching Traffic Processing Plugin`:
+
+```xml
+<dependency>
+    <groupId>org.apache.shenyu</groupId>
+    <artifactId>shenyu-plugin-wasm-base</artifactId>
+    <version>${project.version}</version>
+</dependency>
+```
+
+* The following are the methods that must be added (using the Rust language as an example):
+
+```rust
+#[no_mangle]
+pub unsafe extern "C" fn doExecute(arg_id: i64) {
+    //......
+}
+```
+
+* The following are optional methods (using the Rust language as an example):
+
+```rust
+#[no_mangle]
+pub unsafe extern "C" fn before(arg_id: i64) {
+    //......
+}
+
+#[no_mangle]
+pub unsafe extern "C" fn after(arg_id: i64) {
+    //......
+}
+```
+
+## Subscribe your plugin data and do customized jobs
+
+* Declare a new class named `PluginDataHandler` and implements `org.apache.shenyu.plugin.base.handler.PluginDataHandler`
+
+```java
+public interface PluginDataHandler {
+
+    /**
+     * Handler plugin.
+     *
+     * @param pluginData the plugin data
+     */
+    default void handlerPlugin(PluginData pluginData) {
+    }
+
+    /**
+     * Remove plugin.
+     *
+     * @param pluginData the plugin data
+     */
+    default void removePlugin(PluginData pluginData) {
+    }
+
+    /**
+     * Handler selector.
+     *
+     * @param selectorData the selector data
+     */
+    default void handlerSelector(SelectorData selectorData) {
+    }
+
+    /**
+     * Remove selector.
+     *
+     * @param selectorData the selector data
+     */
+    default void removeSelector(SelectorData selectorData) {
+    }
+
+    /**
+     * Handler rule.
+     *
+     * @param ruleData the rule data
+     */
+    default void handlerRule(RuleData ruleData) {
+    }
+
+    /**
+     * Remove rule.
+     *
+     * @param ruleData the rule data
+     */
+    default void removeRule(RuleData ruleData) {
+    }
+
+    /**
+     * Plugin named string.
+     *
+     * @return the string
+     */
+    String pluginNamed();
+
+}
+```
+
+* Ensure `pluginNamed()` is same as the plugin name you defined.
+* Register defined class as a `Spring Bean`, or simply apply `@Component` in implementation class.
+
+```java
+@Bean
+public PluginDataHandler pluginDataHandler() {
+  return new PluginDataHandler();
+}
+```
+
+## Dynamic loading
+
+* When using this feature, the above extensions `ShenyuPlugin`, `PluginDataHandler`, do not need to be `spring bean`. You just need to build the jar package of the extension project.
+
+* Config in Yaml:
+
+```yaml
+shenyu:
+  extPlugin:
+    path:  //Load the extension plugin jar package path
+    enabled: true //Whether to turn on 
+    threads: 1  //Number of loading plug-in threads
+    scheduleTime: 300  //Cycle time (in seconds)
+    scheduleDelay: 30 //How long the shenyu gateway is delayed to load after it starts (in seconds)
+```
+
+#### Plugin loading path details
+
+* This path is for the directory where the extended plugin jar package is stored。
+
+* Used `-Dplugin-ext=xxxx`, Also used `shenyu.extPlugin.path` in yaml,If neither is configured, the `ext-lib` directory in the apache shenyu gateway boot path will be loaded by default.
+
+* Priority :`-Dplugin-ext=xxxx` > `shenyu.extPlugin.path` > `ext-lib(default)`
+
+
+## Plugin jar upload
+
+* To use this feature, you will need to package the `ShenyuPlugin` extension as a custom ShenyuPlugin Jar
+* Configure it in ShenyuAdmin
+  * use  `ShenyuAdmin - BasicConfig - Plugin` add plugin in `pluginJar` click upload button
+* Custom ShenyuPlugin can be started by loading third-party jars into the `-cp` directory if it depends on other third-party packages in shenyu-bootstrap
+
+Tips:
+
+The Upload jar package plugin supports hot loading
+If you need to modify the jar online. You can make a new jar. And raise the version number, for example '1.0.1' to '1.0.2'
+
+
diff --git a/versioned_docs/version-2.7.0.1/developer/custom-result.md b/versioned_docs/version-2.7.0.1/developer/custom-result.md
new file mode 100644
index 0000000000..8c8320e227
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/custom-result.md
@@ -0,0 +1,115 @@
+---
+title: Custom Response
+keywords: ["Custom Response"]
+description: customising response structure
+---
+
+## Description
+
+* This doc offers examples for customising response structure in `Apache ShenYu` gateway.
+* The response body structure in gateways should be unified, it is recommended for specify yours.
+
+
+## Default Implementation
+
+* The default implementation class is `org.apache.shenyu.plugin.api.result.DefaultShenyuResult`.
+* Following is the response structure:
+
+```java
+public class ShenyuDefaultEntity implements Serializable {
+
+    private static final long serialVersionUID = -2792556188993845048L;
+
+    private Integer code;
+
+    private String message;
+
+    private Object data;
+
+}
+```
+
+* The returned `json` as follows:
+
+```json
+{
+    "code": -100, //response code,
+    "message": "Your parameter error, please check the relevant documentation!", //hint messages
+    "data": null  // business data
+}
+```
+
+## Extensions
+
+* Declare a new class named `CustomShenyuResult` and implements `org.apache.shenyu.plugin.api.result.ShenyuResult`
+
+```java
+/**
+ * The interface shenyu result.
+ */
+public interface ShenyuResult<T> {
+
+    /**
+     * The response result.
+     *
+     * @param exchange the exchange
+     * @param formatted the formatted object
+     * @return the result object
+     */
+    default Object result(ServerWebExchange exchange, Object formatted) {
+        return formatted;
+    }
+
+    /**
+     * format the origin, default is json format.
+     *
+     * @param exchange the exchange
+     * @param origin the origin
+     * @return format origin
+     */
+    default Object format(ServerWebExchange exchange, Object origin) {
+        // basic data
+        if (ObjectTypeUtils.isBasicType(origin)) {
+            return origin;
+        }
+        // error result or rpc origin result.
+        return JsonUtils.toJson(origin);
+    }
+
+    /**
+     * the response context type, default is application/json.
+     *
+     * @param exchange the exchange
+     * @param formatted the formatted data that is origin data or byte[] convert string
+     * @return the context type
+     */
+    default MediaType contentType(ServerWebExchange exchange, Object formatted) {
+        return MediaType.APPLICATION_JSON;
+    }
+
+    /**
+     * Error t.
+     *
+     * @param code    the code
+     * @param message the message
+     * @param object  the object
+     * @return the t
+     */
+    T error(int code, String message, Object object);
+}
+```
+
+> Processing sequence: `format`->`contextType`->`result`. The `format` method performs data formatting. If the data is a basic type and returns itself, other types are converted to `JSON`, and the parameter `origin` is the original data. Formatting can be performed according to the situation. `contextType`, if it is a basic type, use `text/plain`, the default is `application/json`, the parameter `formatted` is the data processed by the `format` method, and can be combined with the return [...]
+
+* `T` is a generic parameter for your response data.
+* Register defined class as a `Spring Bean`.
+
+```java
+@Bean
+public ShenyuResult<?> customShenyuResult() {
+    return new CustomShenyuResult();
+}
+```
+
+
+
diff --git a/versioned_docs/version-2.7.0.1/developer/custom-sign-algorithm.md b/versioned_docs/version-2.7.0.1/developer/custom-sign-algorithm.md
new file mode 100644
index 0000000000..db231ad5c4
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/custom-sign-algorithm.md
@@ -0,0 +1,58 @@
+---
+title: Custom Sign Algorithm
+keywords: ["Custom Sign"]
+description: specify sign plugins for examination
+---
+
+## Description
+
+* Users can customize the signature authentication algorithm to achieve verification.
+
+## Extension
+
+* The default implementation is `org.apache.shenyu.plugin.sign.service.ComposableSignService`.
+    
+    ```java
+    @Bean
+    @ConditionalOnMissingBean(value = SignService.class, search = SearchStrategy.ALL)
+    public SignService signService() {
+        return new ComposableSignService(new DefaultExtractor(), new DefaultSignProvider());
+    }
+    ```
+    
+    
+    
+* Declare a new class named `CustomSignService` and implements  `org.apache.shenyu.plugin.plugin.sign.service`.
+
+```java
+public interface SignService {
+
+    /**
+     * Gets verifyResult.
+     * @param exchange exchange
+     * @param requestBody requestBody
+     * @return result
+     */
+    VerifyResult signatureVerify(ServerWebExchange exchange, String requestBody);
+
+    /**
+     * Gets verifyResult.
+     * @param exchange exchange
+     * @return result
+     */
+    VerifyResult signatureVerify(ServerWebExchange exchange);
+}
+
+
+```
+
+* When returning is `isSuccess()` of VerifyResult, the sign verification passes. If there's false, the `getReason()` of VerifyResult will be return to the frontend to show.
+* Register defined class as a Spring Bean.
+
+```java
+   @Bean
+   public SignService customSignService() {
+         return new CustomSignService();
+   }
+```
+
diff --git a/versioned_docs/version-2.7.0.1/developer/developer-shenyu-client.md b/versioned_docs/version-2.7.0.1/developer/developer-shenyu-client.md
new file mode 100644
index 0000000000..44346cb115
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/developer-shenyu-client.md
@@ -0,0 +1,185 @@
+---
+title: A multilingual HTTP client
+keywords: ["Http Client"]
+description: A multilingual HTTP client
+---
+
+## Description
+
+* This document focuses on how to access gateways for `HTTP` services in other languages.
+* To access the gateway, you need to get the token first, and then you can call the registration service or metadata interface according to your needs.
+
+
+
+## Get token
+
+- **Request Method**
+
+    `GET`
+
+- **Request Path**
+    - `http://{shenyu-admin}/platform/login`
+    - Where `shenyu-admin` is the `ip + port` of the `admin` backend management system.
+
+
+- **Request Params**
+
+    - `query` parameter, the account password is the username and password of the admin service.
+
+    | Field     | Type   | Required | Desc                  |
+    | -------- | ------ | --------- | --------------------- |
+    | userName | String | Yes       | shenyu admin account  |
+    | password | String | Yes       | shenyu admin password |
+
+- **Return Data**
+
+  | Field    |             | Type    | Desc                          |
+    | ------- | ----------- | ------- | ----------------------------- |
+  | code    |             | Integer | Return code                   |
+  | message |             | String  | Return message                |
+  | data    |             | Object  | Return data                   |
+  |         | id          | Integer | user id                       |
+  |         | userName    | String  | account                       |
+  |         | role        | Integer | role id                       |
+  |         | enabled     | Boolean | status                        |
+  |         | dateCreated | String  | create time                   |
+  |         | dateUpdated | String  | update time                   |
+  |         | token       | String  | token                         |
+  |         | expiredTime | Long    | timeout time, in milliseconds |
+
+    **Example**
+
+    ```json
+    {
+        "code": 200,
+        "message": "login dashboard user success",
+        "data": {
+            "id": "1",
+            "userName": "admin",
+            "role": 1,
+            "enabled": true,
+            "dateCreated": "2022-09-07 22:08:23",
+            "dateUpdated": "2022-09-07 22:08:23",
+            "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTmFtZSI6ImFkbWluIiwiZXhwIjoxNjYyNjQ2MzU5fQ.WBXBgCcGsnnC00pRbDOtqCVoAaZr8MKH6WE6kY-NGaI",
+            "expiredTime": 86400000
+        }
+    }
+    ```
+
+
+
+## Registration Services
+
+- **Request Method**
+
+    `POST`
+
+- **Request Path**
+    - `http://{shenyu-admin}/shenyu-client/register-uri`
+    - Where `shenyu-admin` is the `ip + port` of the `admin` backend management system.
+
+
+* **Request Params**
+
+    - `Header`
+
+        - `contentType: application/json`
+
+        - `X-Access-Token: {token}`,token is the token obtained by `Get token`.
+
+    - `Body`,`json` format
+
+      | Field        | Type    | Required | Desc                                                                                                                                                                                                                 |
+          | ----------- | ------- |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ------------------------------------------------------------ |
+      | protocol    | String  | Yes       | protocol type                                                                                                                                                                                                      |
+      | appName     | String  | Yes       | app name                                                                                                                                                                                                           |
+      | contextPath | String  | Yes       | service path                                                                                                                                                                                                       |
+      | rpcType     | String  | Yes       | rpc type, supported type reference [RpcTypeEnum](https://github.com/apache/shenyu/blob/master/shenyu-common/src/main/java/org/apache/shenyu/common/enums/RpcTypeEnum.java)                                         |
+      | host        | String  | Yes       | service IP                                                                                                                                                                                                         |
+      | port        | Integer | Yes       | service port                                                                                                                                                                                                       |
+      | eventType   | String  | Yes       | event type, supported types reference [EventType](https://github.com/apache/shenyu/blob/master/shenyu-register-center/shenyu-register-common/src/main/java/org/apache/shenyu/register/common/enums/EventType.java) |
+
+    **Example**
+
+    ```json
+    {
+        "protocol": "http",
+        "appName": "app",
+        "contextPath": "/test",
+        "rpcType": "http",
+        "host": "127.0.0.1",
+        "port": "8080",
+        "eventType": "REGISTER"
+    }
+    ```
+
+- **Return Data**
+
+  A successful registration returns `success`.
+
+## Registration Metadata
+
+- **Request Method**
+
+  `POST`
+
+- **Request Path**
+
+    - `http://{shenyu-admin}/shenyu-client/register-metadata`
+    - Where `shenyu-admin` is the `ip + port` of the `admin` backend management system.
+
+- **Request Params**
+
+    - `Header`
+
+        - `contentType: application/json`
+
+        - `X-Access-Token: {token}`,token is the token obtained by `Get token`.
+
+    - `Body`,`json` format.
+
+      | Field             | Type    | Required | Desc                                                                                                                                                                         |
+          | ---------------- | ------- |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ------------------------------------------------------------ |
+      | appName          | String  | Yes       | app name                                                                                                                                                                   |
+      | contextPath      | String  | Yes       | service path                                                                                                                                                               |
+      | path             | String  | Yes       | path                                                                                                                                                                       |
+      | pathDesc         | String  | Yes       | path description                                                                                                                                                           |
+      | rpcType          | String  | Yes       | rpc type, supported type reference [RpcTypeEnum](https://github.com/apache/shenyu/blob/master/shenyu-common/src/main/java/org/apache/shenyu/common/enums/RpcTypeEnum.java) |
+      | serviceName      | String  | Yes       | service name                                                                                                                                                               |
+      | methodName       | String  | Yes       | method name                                                                                                                                                                |
+      | ruleName         | String  | Yes       | rule name                                                                                                                                                                  |
+      | parameterTypes   | String  | Yes       | parameter Type                                                                                                                                                             |
+      | rpcExt           | String  | Yes       | rpc expansion parameters                                                                                                                                                   |
+      | enabled          | Boolean | No        | status                                                                                                                                                                     |
+      | host             | String  | Yes       | service IP                                                                                                                                                                 |
+      | port             | Integer | Yes       | service port                                                                                                                                                               |
+      | pluginNames      | List    | No        | plugin name list                                                                                                                                                           |
+      | registerMetaData | Boolean | No        | whether to register metadata                                                                                                                                               |
+
+      **examples**
+
+      ```json
+      {
+          "appName": "app",
+          "contextPath": "/",
+          "path": "/test",
+          "rpcType": "http",
+          "serviceName": "test service",
+          "parameterTypes": "java.lang.String",
+          "pathDesc": "test path",
+          "methodName": "test method",
+          "ruleName": "test rule",
+          "rpcExt": "{\"loadbalance\":\"hash\",\"retries\":3,\"timeout\":-1}",
+          "enabled": true,
+          "host": "127.0.0.1",
+          "port": 8080,
+          "pluginNames": [],
+          "registerMetaData": true
+      }
+      ```
+
+- **Return Data**
+
+  A successful registration returns `success`.
+
+
diff --git a/versioned_docs/version-2.7.0.1/developer/file-and-image.md b/versioned_docs/version-2.7.0.1/developer/file-and-image.md
new file mode 100644
index 0000000000..123599f1e9
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/file-and-image.md
@@ -0,0 +1,19 @@
+---
+title: File Upload And Download
+keywords: ["File"]
+description: file upload and download
+---
+
+## description
+
+* This doc gives a brief description for upload and download files using `Apache ShenYu`.
+
+## File Upload
+
+* The default file size limit is `10M`.
+* For custom limitation, use`--file.size` with an integer variable. e.g.`--file.size = 30`
+* Upload your files just as way you did before
+
+## File Download
+
+* `Apache ShenYu` supports download files in stream. There is no need to change anything.
diff --git a/versioned_docs/version-2.7.0.1/developer/integration-test.md b/versioned_docs/version-2.7.0.1/developer/integration-test.md
new file mode 100644
index 0000000000..13ccf2cf3b
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/integration-test.md
@@ -0,0 +1,38 @@
+---
+title: Run Integration Test Locally
+description: Run Integration Test Locally
+tags: ["integration test"]
+---
+
+### Preparation
+
+1. Clone the code of [Apache ShenYu](https://github.com/apache/shenyu).
+2. Install and start docker.
+
+### Start integration test locally
+
+1. Build with Maven
+
+```shell
+./mvnw -B clean install -Prelease,docker -Dmaven.javadoc.skip=true -Dmaven.test.skip=true
+```
+
+2. Build integrated tests
+
+```shell
+./mvnw -B clean install -Pit -DskipTests -f ./shenyu-integrated-test/pom.xml
+```
+
+3. Start docker compose
+
+```shell
+docker-compose -f ./shenyu-integrated-test/${{ matrix.case }}/docker-compose.yml up -d
+```
+
+> You need to replace `${{ matrix.case }}` with the exact directory, such as `shenyu-integrated-test-http`.
+
+4. Run test
+
+```shell
+./mvnw test -Pit -f ./shenyu-integrated-test/${{ matrix.case }}/pom.xml
+```
diff --git a/versioned_docs/version-2.7.0.1/developer/local-model.md b/versioned_docs/version-2.7.0.1/developer/local-model.md
new file mode 100644
index 0000000000..2b313a193d
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/local-model.md
@@ -0,0 +1,552 @@
+---
+title: Local Model
+keywords: ["Local Model"]
+description: Local Model
+---
+
+## Description
+
+* Standalone environment, then use the local `API` to update the apache shenyu gateway data.the yaml config:
+
+```yaml
+shenyu:
+  local:
+    enabled: true
+    sha512Key: 123456
+```
+
+* Common result:
+
+```
+success
+```
+
+* Common preFix: `localhost:9095/shenyu`
+
+* Common Header: `localKey: 123456`
+
+## Plugin
+
+### saveOrUpdate
+
+save or update plugin data
+
+##### Request Method
+
+POST
+
+##### Path
+
+/plugin/saveOrUpdate
+
+##### Request Parameters
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**PluginData**|[PluginData](#PluginData)|True| |Plugin data object (pass Json object inside Body)|
+
+##### <div id="PluginData">PluginData</div>
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**id**|String|False| |plugin id|
+|**name**|String|True| |plugin name|
+|**config**|String|False| |plugin configuration (Json format)|
+|**role**|String|False| |plugin role |
+|**enabled**|Boolean|False| |whether to turn on|
+
+##### Example
+
+POST body
+
+```
+{"id":3,"name":"divide","enabled":"true"}
+
+```
+
+### CleanAll
+
+Clear all data (plugins, selectors, rules)
+
+##### Request Method
+
+GET
+
+##### Path
+
+/cleanAll
+
+### Clean Plugin
+
+Clear plugin data(selector, rule)
+
+##### Request Method
+
+GET
+
+##### Path
+
+/cleanPlugin?name = xxxx
+
+##### RequestParam
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**name**|String|true| |plugin name |
+
+### Delete plugin
+
+Remove plugin data (not included, the selectors and rules data)
+
+##### Request Method
+
+GET
+
+##### Path
+
+/plugin/delete?name = xxxx
+
+##### RequestParam
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**name**|String|true| |plugin name |
+
+### Delete All Plugin
+
+Remove all plugin data (not included, the selectors and rules data)
+
+##### Request Method
+
+GET
+
+##### Path
+
+/plugin/deleteAll
+
+### Find plugin by name
+
+Find plugin by name
+
+##### Request Method
+
+GET
+
+##### Path
+
+/plugin/findByName?name=xxxx
+
+##### RequestParam
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**name**|String|true| |plugin name |
+
+### Save or Update Selector
+
+Save or Update Selector
+
+##### Request Method
+
+POST
+
+##### Path
+
+/plugin/selector/saveOrUpdate
+
+##### RequestParam
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**SelectorData**|[SelectorData](#SelectorData)|True| |Selector object (pass Json object inside Body)|
+
+##### <div id="SelectorData">SelectorData</div>
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**id**|String|False| |selector id|
+|**pluginName**|String|True| |plugin name|
+|**name**|String|False| |Selector name (default is plugin:selector+random number if not filled)|
+|**matchMode**|Integer|False| |Matching mode (0:and;1:or), not filled with the default generation And mode|
+|**type**|Integer|False| |Traffic type(0: full traffic; 1: custom traffic) do not fill in the default generation of full traffic|
+|**sort**|Integer|False| |Sort by, not filled by default generate 10|
+|**enabled**|Boolean|False| |Whether to turn on, not fill in the default generation true|
+|**logged**|Boolean|False| |Whether or not to print the log, do not fill in the default generated into false|
+|**handle**|String|False| |Selector handler (Json objects, depending on each plug-in, different objects are passed)|
+|**conditionList**|[Condition](#Condition)|False| |Conditional collection, custom traffic needs to be passed, full traffic does not need to be passed (Json List object)|
+
+##### <div id="Condition">Condition</div>
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**paramType**|String|True| |param type(post,uri,query,host,header,cookie,req_method,domain)|
+|**operator**|String|True| |operator (match,=,regex,>,<,contains,SpEL,Groovy,TimeBefore,TimeAfter)|
+|**paramName**|String|False| |param mame(The uri parameter type can be passed without)|
+|**paramValue**|Integer|False| |param value|
+
+
+##### Example
+
+POST body
+
+```
+{
+	"pluginName": "divide",
+	"type": 1,
+	"handle": "[{\"upstreamUrl\":\"127.0.0.1:8089\"}]",
+	"conditionDataList": [{
+		"paramType": "uri",
+		"operator": "match",
+		"paramName": null,
+		"paramValue": "/**"
+	}]
+}
+
+```
+
+##### Result
+
+Is selector id
+
+```
+xxxxx
+```
+
+### Add Selector And Rules
+
+Add a selector with multiple rules
+
+##### Request Method
+
+POST
+
+##### Path
+
+/plugin/selectorAndRules
+
+##### RequestParam
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**SelectorRulesData**|[SelectorRulesData](#SelectorRulesData)|True| |Selector rule object (Body inside pass Json object)|
+
+##### <div id="SelectorRulesData">SelectorRulesData</div>
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**pluginName**|String|True| |plugin name|
+|**selectorName**|String|False| |Selector name (if not filled in, it is generated by default plugin:selector+random number)|
+|**matchMode**|Integer|False| |Matching mode (0:and;1:or), not filled with the default generation And mode|
+|**selectorHandler**|String|False| |Selector handler (Json objects, depending on each plug-in, different objects are passed)|
+|**conditionList**|[ConditionData](#ConditionData)|True| |Selector condition collection (Json List object)|
+|**ruleDataList**|[RuleLocalData](#RuleLocalData)|True| |Rule condition collection (Json List object)|
+
+##### <div id="RuleLocalData">RuleLocalData</div>
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**ruleName**|String|False| |rule name|
+|**ruleHandler**|String|True| |Rule handler (different plugins pass different values))|
+|**matchMode**|Integer|False| |Matching pattern (0:and;1:or)|
+|**conditionList**|[ConditionData](#ConditionData)|True| |Rule condition collection (Json List object)|
+
+##### <div id="ConditionData">ConditionData</div>
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**paramType**|String|True| |param type(post,uri,query,host,header,cookie,req_method,domain)|
+|**operator**|String|True| |operator (match,=,regex,>,<,contains,SpEL,Groovy,TimeBefore,TimeAfter)|
+|**paramName**|String|False| |param mame(The uri parameter type can be passed without)|
+|**paramValue**|Integer|False| |param value|
+
+##### Example
+
+POST body
+
+```
+{
+	"pluginName": "divide",
+	"selectorHandler": "[{\"upstreamUrl\":\"127.0.0.1:8089\"}]",
+	"conditionDataList": [{
+		"paramType": "uri",
+		"operator": "match",
+		"paramValue": "/http/**"
+	}],
+	"ruleDataList": [{
+		"ruleHandler": "{\"loadBalance\":\"random\"}",
+		"conditionDataList": [{
+			"paramType": "uri",
+			"operator": "=",
+			"paramValue": "/http/test/payment"
+		}]
+	}, {
+		"ruleHandler": "{\"loadBalance\":\"random\"}",
+		"conditionDataList": [{
+			"paramType": "uri",
+			"operator": "=",
+			"paramValue": "/http/order/save"
+		}]
+	}]
+}
+
+```
+
+### Delete Selector
+
+Delete selectors based on selector id and plugin name
+
+##### Request Method
+
+GET
+
+##### Path
+
+/plugin/selector/delete?pluginName=xxxx&&id=xxxx
+
+##### RequestParam
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**pluginName**|String|true| |plugin name |
+|**id**|String|true| |selector id |
+
+### Find All Selector
+
+Get all selectors by plugin name
+
+##### Request Method
+
+GET
+
+##### Path
+
+/plugin/selector/findList?pluginName=xxxx
+
+##### RequestParam
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**pluginName**|String|true| |plugin name |
+
+### Save or Update Rule Data
+
+Save or Update Rule Data
+
+##### Request Method
+
+POST
+
+##### Path
+
+/plugin/rule/saveOrUpdate
+
+##### RequestParam
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**RuleData**|[RuleData](#RuleData)|True| |Rule object (pass Json object inside Body)|
+
+##### <div id="RuleData">RuleData</div>
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**id**|String|False| |rule id|
+|**pluginName**|String|True| |plugin name|
+|**name**|String|False| |Rule name (default generation if not filled plugin:rule+random number)|
+|**selectorId**|String|True| |Selector id|
+|**matchMode**|Integer|False| |Matching mode (0:and;1:or), not filled with the default generation And mode|
+|**sort**|Integer|False| |Sort by , not filled by default generate 10|
+|**enabled**|Boolean|False| |Whether to turn on, not fill in the default generation true|
+|**logged**|Boolean|False| |Whether or not to print the log, do not fill in the default generated into false|
+|**handle**|String|False| |Rule handler (Json objects, depending on each plug-in, different objects are passed)|
+|**conditionList**|[ConditionData](#ConditionData)|False| |Conditional collections (Json List objects)|
+
+##### <div id="conditionList">conditionList</div>
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**paramType**|String|True| |param type(post,uri,query,host,header,cookie,req_method,domain)|
+|**operator**|String|True| |operator (match,=,regex,>,<,contains,SpEL,Groovy,TimeBefore,TimeAfter)|
+|**paramName**|String|False| |param mame(The uri parameter type can be passed without)|
+|**paramValue**|Integer|False| |param value|
+
+##### Example
+
+POST body
+
+```
+{
+	"pluginName": "divide",
+	"selectorId": 123456,
+	"handle": "{\"loadBalance\":\"random\"}",
+	"conditionDataList": [{
+		"paramType": "uri",
+		"operator": "=",
+		"paramValue": "/test"
+	}]
+}
+
+```
+
+##### Result
+
+Is rule id
+
+```
+xxxxx
+```
+
+### Delete rule data
+
+Delete rules based on selector id and rule id
+
+##### Request Method
+
+GET
+
+##### Path
+
+/plugin/rule/delete?selectorId=xxxx&&id=xxxx
+
+##### RequestParam
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**selectorId**|String|true| |selector ID |
+|**id**|String|true| |rule ID |
+
+### Find Rule data List
+
+Get all rules by selector ID
+
+##### Request Method
+
+GET
+
+##### Path
+
+/plugin/rule/findList?selectorId=xxxx
+
+##### RequestParam
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**selectorId**|String|true| |selector id |
+
+## Meta data
+
+### Save Or Update
+
+Save Or Update Meta data
+
+##### Request Method
+
+POST
+
+##### Path
+
+/meta/saveOrUpdate
+
+##### RequestParam
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**MetaData**|[MetaData](#MetaData)|True| |Metadata object (pass Json object inside Body)|
+
+##### <div id="MetaData">MetaData</div>
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**id**|String|False| |ID|
+|**appName**|String|True| |app name|
+|**contextPath**|String|True| |contextPath|
+|**path**|String|True| |path|
+|**rpcType**|String|True| |rpc type(dubbo,sofa,tars,springCloud,motan,grpc)|
+|**serviceName**|String|True| |service name|
+|**methodName**|String|True| |method name|
+|**parameterTypes**|String|True| |parameter types|
+|**rpcExt**|String|False| |rpc extension parameters (json objects)|
+|**enabled**|Boolean|False| |Whether to turn on|
+
+### Delete
+
+Delete Meta data
+
+##### Request Method
+
+GET
+
+##### Path
+
+/meta/delete?rpcType=xxxx&&path=xxx
+
+##### RequestParam
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**rpcType**|String|true| |rpc type(dubbo,sofa,tars,springCloud,motan,grpc) |
+|**path**|String|true| |path |
+
+## App Sign Data
+
+### Save Or Update
+
+Save Or Update App Sign Data
+
+##### Request Method
+
+POST
+
+##### Path
+
+/auth/saveOrUpdate
+
+##### RequestParam
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**AppAuthData**|[AppAuthData](#AppAuthData)|True| |Signature object (Json object passed inside the Body)|
+
+##### <div id="AppAuthData">AppAuthData</div>
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**appKey**|String|True| |app key|
+|**appSecret**|String|True| |app secret|
+|**enabled**|Boolean|False| |Whether to turn on|
+|**open**|Boolean|False| |is open|
+|**paramDataList**|[AuthParamData](#AuthParamData)|false| |Parameter set, open is true when you need to pass (Json list object)|
+|**AuthPathData**|[AuthPathData](#AuthPathData)|false| |Path collection, open is true when you need to pass (Json list object)|
+
+##### <div id="AuthParamData">AuthParamData</div>
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**appName**|String|True| |app name|
+|**appParam**|String|True| |app param|
+
+##### <div id="AuthPathData">AuthPathData</div>
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**appName**|String|True| |app name|
+|**path**|String|True| |path|
+|**enabled**|Boolean|False| |Whether to turn on|
+
+### Delete
+
+Delete App Sign Data
+
+##### Request Method
+
+GET
+
+##### Path
+
+/auth/delete?appKey=xxxx
+
+##### RequestParam
+
+|Name|Type|Required|Default|Description|
+|---|---|---|---|---|
+|**appKey**|String|true| |app key |
diff --git a/versioned_docs/version-2.7.0.1/developer/notice-alert.md b/versioned_docs/version-2.7.0.1/developer/notice-alert.md
new file mode 100644
index 0000000000..500b8ed7ec
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/notice-alert.md
@@ -0,0 +1,83 @@
+---
+title: Alarm Notice
+keywords: ["alarm"]
+description: Alarm message dispatch and notice
+---
+
+## Description
+
+* This doc gives a brief description for send alarm notice message using `Apache ShenYu API`.
+
+## Enable Alert in ShenYu Gateway
+
+* Config the gateway `application.yml` 
+
+```yaml
+shenyu:
+  alert:
+    enabled: true
+    # the shenyu admin servers, if admin cluster, config like 127.0.0.1:9095,192.3.4.2:9095
+    admins: localhost:9095
+```
+
+## Send Alarm Message 
+
+* We can send custom alarm message in plugin using `AlarmSender.alarm()`
+
+Refer below:
+
+```java
+public class ParamMappingPlugin extends AbstractShenyuPlugin {
+
+    @Override
+    public Mono<Void> doExecute(final ServerWebExchange exchange, final ShenyuPluginChain chain, final SelectorData selector, final RuleData rule) {
+        ParamMappingRuleHandle paramMappingRuleHandle = ParamMappingPluginDataHandler.CACHED_HANDLE.get().obtainHandle(CacheKeyUtils.INST.getKey(rule));
+     
+        if(some condition) {
+             Map<String, String> labels = new HashMap<>(8);
+             labels.put("plugin", "http-redirect");
+             labels.put("component", "http");
+             AlarmSender.alarmHighEmergency("alarm-title", "alarm-content", labels);
+             AlarmSender.alarmMediumCritical("alarm-title", "alarm-content", labels);
+             AlarmSender.alarmLowWarning("alarm-title", "alarm-content", labels);
+             AlarmSender.alarm((byte) 0, "alarm-title", "alarm-content");
+        }
+      
+        HttpHeaders headers = exchange.getRequest().getHeaders();
+        MediaType contentType = headers.getContentType();
+        return match(contentType).apply(exchange, chain, paramMappingRuleHandle);
+    }
+}
+```
+
+## Dispatch Alarm Notice
+
+* In the previous step, we send custom alarm message in plugin. 
+* Now we configure how these messages are sent to whom(tom,lili...) by which type(email,DingDing...)
+* Config this in ShenYu Admin Dashboard.
+
+![alarm-config](/img/shenyu/alert/alarm-config.png)
+
+Have fun!
+
+## Attention
+
+1. If you use the email notice, you should config your email send server in ShenYu Admin `application.yml` 
+
+```yaml
+spring:
+  mail:
+    # Attention: this is mail server address.
+    host: smtp.qq.com
+    username: shenyu@apache.com
+    # Attention: this is not email account password, this requires an email authorization code
+    password: your-password
+    port: 465
+    default-encoding: UTF-8
+    properties:
+      mail:
+        smtp:
+          socketFactoryClass: javax.net.ssl.SSLSocketFactory
+          ssl:
+            enable: true
+```
diff --git a/versioned_docs/version-2.7.0.1/developer/shenyu-optimize.md b/versioned_docs/version-2.7.0.1/developer/shenyu-optimize.md
new file mode 100644
index 0000000000..0c35a713ef
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/shenyu-optimize.md
@@ -0,0 +1,44 @@
+---
+title: ShenYu Optimize
+keywords: ["Optimize"]
+description: performance optimization for Apache ShenYu
+---
+
+## Description
+
+* This doc shows how to do performance optimization for Apache ShenYu.
+
+## Time Consumption
+
+* Apache ShenYu is JVM driven and processing time for a single request is nearly between `1-3` ms.
+
+## Netty Optimization
+
+* `spring-webflux` is one of dependencies of ShenYu, and it uses Netty in lower layer.
+* The demo down below demonstrates tuning ShenYu by customizing params in Netty.
+
+```java
+@Bean
+ public NettyReactiveWebServerFactory nettyReactiveWebServerFactory() {
+     NettyReactiveWebServerFactory webServerFactory = new NettyReactiveWebServerFactory();
+     webServerFactory.addServerCustomizers(new EventLoopNettyCustomizer());
+     return webServerFactory;
+ }
+
+private static class EventLoopNettyCustomizer implements NettyServerCustomizer {
+
+    @Override
+    public HttpServer apply(final HttpServer httpServer) {
+        return httpServer
+                .tcpConfiguration(tcpServer -> tcpServer
+                        .runOn(LoopResources.create("shenyu-netty", 1, DEFAULT_IO_WORKER_COUNT, true), false)
+                        .selectorOption(ChannelOption.SO_REUSEADDR, true)
+                        .selectorOption(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT)
+                        .option(ChannelOption.TCP_NODELAY, true)
+                        .option(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT));
+    }
+}
+```
+
+* The `shenyu-bootstrap` module offers this class, you may modify it when benchmarking your app if necessary.
+* You can get references of business thread model from [thread model](./thread-model)
diff --git a/versioned_docs/version-2.7.0.1/developer/spi/_category_.json b/versioned_docs/version-2.7.0.1/developer/spi/_category_.json
new file mode 100644
index 0000000000..149cee92bf
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/spi/_category_.json
@@ -0,0 +1,4 @@
+{
+  "label": "SPI",
+  "position": 1
+}
diff --git a/versioned_docs/version-2.7.0.1/developer/spi/custom-load-balance.md b/versioned_docs/version-2.7.0.1/developer/spi/custom-load-balance.md
new file mode 100644
index 0000000000..f4ea3ecb2b
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/spi/custom-load-balance.md
@@ -0,0 +1,65 @@
+---
+title: Custom Load Balancer
+keywords: ["LoadBalance"]
+description: Custom Load Balance
+---
+
+* This paper describes how to customize the extension of  `org.apache.shenyu.loadbalancer.spi.LoadBalancer`.
+
+* Create a new project and introduce the following dependencies:
+
+```xml
+<dependencies>
+    <dependency>
+        <groupId>org.apache.shenyu</groupId>
+        <artifactId>shenyu-plugin-base</artifactId>
+        <version>${project.version}</version>
+    </dependency>
+</dependencies>
+```
+
+* Create a new class  `CustomLoadBalancer`, extends `org.apache.shenyu.loadbalancer.spi.AbstractLoadBalancer`.
+
+```java
+public class CustomLoadBalancer extends AbstractLoadBalancer {
+
+    @Override
+    public Upstream doSelect(final List<Upstream> upstreamList, final String ip) {
+        // custom load balancer
+    }
+}
+```
+
+* In the project's META-INF/services directory, create key-value as following in `org.apache.shenyu.loadbalancer.spi.LoadBalancer` file.
+
+```shell title="script"
+${spi name}=${custom class path}
+``` 
+
+`${spi name}` represents the name of `spi` and `${custom class path}` represents the fully qualified name of the class. Such as:
+
+```shell title="script"
+custom=xxx.xxx.xxx.CustomLoadBalancer
+```
+
+* Package the project and copy it to the `lib` or `ext-lib` directory of the gateway (bootstrap-bin).
+
+* In the `Apache ShenYu` gateway management system --> BasicConfig --> Dictionary,  find the dictionary code as `LOAD_BALANCE`, add a new piece of data, pay attention to the dictionary name: `${spi name}`.
+
+<img src="/img/shenyu/custom/custom_load_balancer_en.png" width="80%" height="70%" />
+
+> DictionaryType: `loadBalance`;
+>
+> DictionaryCode: `LOAD_BALANCE`;
+>
+> DictionaryName: `${spi name}`, input your custom spi name;
+>
+> DictionaryValue: When used, the value of the drop-down box, do not repeat with the existing;
+>
+> DictionaryDescribe: desc your custom match strategy;
+>
+> Sort: to sort;
+
+* When adding selectors or rules, you can use custom MatchType:
+
+<img src="/img/shenyu/custom/use_custom_load_balancer_en.png" width="90%" height="80%" />
diff --git a/versioned_docs/version-2.7.0.1/developer/spi/custom-match-mode.md b/versioned_docs/version-2.7.0.1/developer/spi/custom-match-mode.md
new file mode 100644
index 0000000000..3539e3e54f
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/spi/custom-match-mode.md
@@ -0,0 +1,72 @@
+---
+title: Custom Match Mode
+keywords: ["MatchStrategy"]
+description: custom match mode
+---
+
+
+* This paper describes how to customize the extension of  `org.apache.shenyu.plugin.base.condition.strategy.MatchStrategy`.
+
+* Create a new project and introduce the following dependencies:
+
+```xml
+<dependencies>
+    <dependency>
+        <groupId>org.apache.shenyu</groupId>
+        <artifactId>shenyu-plugin-base</artifactId>
+        <version>${project.version}</version>
+    </dependency>
+</dependencies>
+```
+
+* Create a new class `CustomMatchStrategy`, extends `org.apache.shenyu.plugin.base.condition.strategy.AbstractMatchStrategy`, implements `org.apache.shenyu.plugin.base.condition.strategy.MatchStrategy`, add annotation `org.apache.shenyu.spi.Join`.
+
+```java
+/**
+ * This is custom match strategy.
+ */
+@Join
+public class CustomMatchStrategy extends AbstractMatchStrategy implements MatchStrategy {
+
+    @Override
+    public Boolean match(final List<ConditionData> conditionDataList, final ServerWebExchange exchange) {
+        // custom match strategy
+    }
+}
+```
+
+* In the project's META-INF/services directory, create `org.apache.shenyu.plugin.base.condition.strategy.MatchStrategy` file.
+
+```shell title="script"
+${spi name} = ${custom class path}
+``` 
+
+`${spi name}` represents the name of `spi` and `${custom class path}` represents the fully qualified name of the class. Such as:
+
+```shell title="script"
+custom = xxx.xxx.xxx.CustomMatchStrategy
+```
+
+* Package the project and copy it to the `lib` or `ext-lib` directory of the gateway (bootstrap-bin).
+
+* In the `Apache ShenYu` gateway management system --> BasicConfig --> Dictionary,  find the dictionary code as `MATCH_MODE`, add a new piece of data, pay attention to the dictionary name: `${spi name}`.
+
+<img src="/img/shenyu/custom/custom_match_strategy_en.png" width="70%" height="60%" />
+
+> DictionaryType: `matchMode`;
+>
+> DictionaryCode: `MATCH_MODE`;
+>
+> DictionaryName: `${spi name}`, input your custom spi name;
+>
+> DictionaryValue: When used, the value of the drop-down box, do not repeat with the existing;
+>
+> DictionaryDescribe: desc your custom match strategy;
+>
+> Sort: to sort;
+>
+> Status: open or close.
+
+* When adding selectors or rules, you can use custom MatchType:
+
+<img src="/img/shenyu/custom/use_custom_match_strategy_en.png" width="80%" height="70%" />
diff --git a/versioned_docs/version-2.7.0.1/developer/spi/custom-metrics-monitor.md b/versioned_docs/version-2.7.0.1/developer/spi/custom-metrics-monitor.md
new file mode 100644
index 0000000000..c02b312895
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/spi/custom-metrics-monitor.md
@@ -0,0 +1,63 @@
+---
+title: Custom Metrics Monitor
+keywords: ["MetricsMonitor"]
+description: custom Metrics Monitor
+---
+
+
+## Explanation
+
+* Before custom development, please customize and build the gateway environment first, please refer to: [custom deployment](../../deployment/deployment-custom)
+
+* This article describes how to customize the extension of  `org.apache.shenyu.plugin.metrics.spi.MetricsService`.
+
+## Extension
+
+* Create a new project and introduce the following dependencies:
+
+```xml
+<dependencies>
+    <dependency>
+        <groupId>org.apache.shenyu</groupId>
+        <artifactId>shenyu-plugin-base</artifactId>
+        <version>${project.version}</version>
+    </dependency>
+</dependencies>
+```
+
+* Create a new class `${you class}`,implements `org.apache.shenyu.plugin.metrics.spi.MetricsService`
+
+```
+public class ${you class} implements MetricsService {
+   
+   	/**
+     * Start metrics tracker.
+     *
+     * @param metricsConfig metrics config
+     * @param metricsRegister the metrics register
+     */
+    public void start(MetricsConfig metricsConfig, MetricsRegister metricsRegister){
+				//your code
+    }
+    
+    /**
+     * Stop metrics tracker.
+     */
+    public void stop() {
+      	//your code
+    }
+}
+```
+
+* In the project  `resources` directory,Create a new `META-INF/shenyu` directory, and the new file name is : `org.apache.shenyu.plugin.metrics.spi.MetricsService`.
+add `${you spi name}` = `${you class path}`:
+
+```
+${you spi name} = ${you class path}
+```
+
+* Package the project and copy it to the `lib` or `ext-lib` directory of the gateway (bootstrap-bin).
+
+* In the `Admin` service ---> BasicConfig ---> Plugin ,  Find the `Monitor` plugin,  edit config, pay attention to the `metricsName` name: `${you spi name}`.
+
+<img src="/img/shenyu/custom/custom-metrics-monitor-en.jpg" width="40%" height="30%" />
diff --git a/versioned_docs/version-2.7.0.1/developer/spi/custom-mock-generator.md b/versioned_docs/version-2.7.0.1/developer/spi/custom-mock-generator.md
new file mode 100644
index 0000000000..618fb42b5e
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/spi/custom-mock-generator.md
@@ -0,0 +1,77 @@
+---
+title: Custom Mock Data Generator
+keywords: ["Mock"]
+description: custom mock data generator
+---
+## Explanation
+
+1. This article describes how to make custom extensions to `org.apache.shenyu.plugin.mock.generator.Generator`.
+2. The mock data generation expression needs to satisfy the format of `${name|param1|param2|...}`
+
+## Extension
+
+* Create a new project and introduce the following dependencies:
+
+```xml
+<dependencies>
+    <dependency>
+        <groupId>org.apache.shenyu</groupId>
+        <artifactId>shenyu-plugin-mock</artifactId>
+        <version>${project.version}</version>
+    </dependency>
+</dependencies>
+```
+
+* Create a new class  `CustomerGenerator`,implements `org.apache.shenyu.plugin.mock.generator.Generator`。
+
+```java
+@Join
+public class CustomGenerator implements Generator<String> {
+    @Override
+    public String getName() {
+        // The name of the generator, i.e. the content before the first | of the expression
+    }
+    
+    @Override
+    public String generate() {
+        // Implement the logic of data generation
+    }
+    
+    @Override
+    public int getParamSize() {
+        // The number of required parameters of the expression
+    }
+    
+    @Override
+    public void initParam(List params, String rule) {
+        // params is the contents except the name after the expression is split according to |
+        // rule is the content of the original expression , if there is a custom parameter processing logic, you can use this parameter
+    }
+    
+    @Override
+    public boolean match(String rule) {
+        // Check if the current expression is valid
+    }
+    
+    @Override
+    public String[] getPrefixAndSuffix() {
+        // Return the prefix and suffix added after the generated content, please return a string array with two elements
+        // 0th element is the prefix, 1st element is the suffix
+    }
+}
+```
+
+* In the project  `resources` directory,Create a new `META-INF/shenyu` directory, and the new file name is : `org.apache.shenyu.plugin.mock.generator.Generator`.
+  add `${you spi name}` = `${you class path}`:
+
+```shell title="script"
+${spi name}=${custom class path}
+``` 
+
+`${spi name}` represents the name of `spi`, `${spi name }` needs to be consistent with the definition of the getName() method in the Generator implementation class, `${custom class path}` represents the fully qualified name of the class. for example:
+
+```shell title="script"
+custom=xxx.xxx.xxx.CustomGenerator
+```
+
+* Package the project and copy it to the `lib` or `ext-lib` directory of the gateway (bootstrap-bin).
diff --git a/versioned_docs/version-2.7.0.1/developer/spi/custom-parameter-data.md b/versioned_docs/version-2.7.0.1/developer/spi/custom-parameter-data.md
new file mode 100644
index 0000000000..bff80ece76
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/spi/custom-parameter-data.md
@@ -0,0 +1,71 @@
+---
+title: Custom Parameter Data
+keywords: ["ParameterData"]
+description: Custom Parameter Data
+---
+
+This paper describes how to customize the extension of  `org.apache.shenyu.plugin.base.condition.data.ParameterData`.
+
+* Create a new project and introduce the following dependencies:
+
+```xml
+<dependencies>
+    <dependency>
+        <groupId>org.apache.shenyu</groupId>
+        <artifactId>shenyu-plugin-base</artifactId>
+        <version>${project.version}</version>
+    </dependency>
+</dependencies>
+```
+
+* Create a new class `CustomParameterData`, implements `org.apache.shenyu.plugin.base.condition.data.ParameterData`, add annotation `org.apache.shenyu.spi.Join`.
+
+```java
+/**
+ * This is custom parameter data.
+ */
+@Join
+public class CustomParameterData implements ParameterData {
+    
+    @Override
+    public String builder(final String paramName, final ServerWebExchange exchange) {
+        // custom parameter data
+    }
+}
+```
+
+* In the project's META-INF/services directory, create `org.apache.shenyu.plugin.base.condition.data.ParameterData` file, add key-value as following:
+
+```shell title="script"
+${spi name} = ${custom class path}
+``` 
+
+`${spi name}` represents the name of `spi` and `${custom class path}` represents the fully qualified name of the class. Such as:
+
+```shell title="script"
+custom=xxx.xxx.xxx.CustomParameterData
+```
+
+* Package the project and copy it to the `lib` or `ext-lib` directory of the gateway (bootstrap-bin).
+
+* In the `Apache ShenYu` gateway management system --> BasicConfig --> Dictionary,  find the dictionary code as `PARAM_TYPE`, add a new piece of data, pay attention to the dictionary name: `${spi name}`.
+
+<img src="/img/shenyu/custom/custom_parameter_data_en.png" width="70%" height="60%" />
+
+> DictionaryType: `paramType`;
+>
+> DictionaryCode: `PARAM_TYPE`;
+>
+> DictionaryName: `${spi name}`, input your custom spi name;
+>
+> DictionaryValue: When used, the value of the drop-down box, do not repeat with the existing;
+>
+> DictionaryDescribe: desc your custom match strategy;
+>
+> Sort: to sort;
+>
+> Status: open or close.
+
+* When adding selectors or rules, you can use custom parameter data:
+
+<img src="/img/shenyu/custom/use_custom_parameter_data_en.png" width="80%" height="70%" />
diff --git a/versioned_docs/version-2.7.0.1/developer/spi/custom-predicate-judge.md b/versioned_docs/version-2.7.0.1/developer/spi/custom-predicate-judge.md
new file mode 100644
index 0000000000..6b1640d5b8
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/spi/custom-predicate-judge.md
@@ -0,0 +1,121 @@
+---
+title: Custom Predicate Judge
+keywords: ["PredicateJudge"]
+description: Custom Predicate Judge
+---
+
+## Introduction
+
+* This paper describes how to customize the extension of  `org.apache.shenyu.plugin.base.condition.judge.PredicateJudge`.
+* The conditional predicate is the bridge between data and rules in the selector and serves to filter out requests that match the conditions.
+* There are already seven conditional predicates including match, =, regex, contains, TimeBefore, TimeAfter, exclude.
+* Please refer to [judge](https://github.com/apache/shenyu/tree/master/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/condition/judge) module, add your own conditional predicates, or submit `pr` to the official website if you have a good common plugin.
+
+## Extension
+
+* Create a new project and introduce the following dependencies:
+
+```xml
+<dependencies>
+    <dependency>
+        <groupId>org.apache.shenyu</groupId>
+        <artifactId>shenyu-plugin-base</artifactId>
+        <version>${project.version}</version>
+    </dependency>
+</dependencies>
+```
+
+* Create a new class `CustomPredicateJudge`, implements `org.apache.shenyu.plugin.base.condition.judge.PredicateJudge`, add annotation `org.apache.shenyu.spi.Join`.
+
+```java
+/**
+ * custom predicate judge.
+ */
+@Join
+public class CustomPredicateJudge implements PredicateJudge {
+
+    @Override
+    public Boolean judge(final ConditionData conditionData, final String realData) {
+        // Custom Predicate Judge
+    }
+}
+
+```
+
+* In the project's META-INF/services directory, create `org.apache.shenyu.plugin.base.condition.judge.PredicateJudge` file, add key-value as following:
+
+```shell title="script"
+${spi name} = ${custom class path}
+``` 
+
+`${spi name}` represents the name of `spi` and `${custom class path}` represents the fully qualified name of the class. Such as:
+
+```shell title="script"
+custom=xxx.xxx.xxx.CustomPredicateJudge
+```
+
+* Package the project and copy it to the `lib` or `ext-lib` directory of the gateway (bootstrap-bin).
+
+* In the `Apache ShenYu` gateway management system --> BasicConfig --> Dictionary, find the dictionary code as `OPERATOR`, add a new piece of data, pay attention to the dictionary name: `${spi name}`.
+
+<img src="/img/shenyu/custom/custom_predicate_judge_en.png" width="70%" height="60%" />
+
+> DictionaryType: `operator`;
+>
+> DictionaryCode: `OPERATOR`;
+>
+> DictionaryName: `${spi name}`, input your custom spi name;
+>
+> DictionaryValue: When used, the value of the drop-down box, do not repeat with the existing;
+>
+> DictionaryDescribe: desc your custom match strategy;
+>
+> Sort: to sort;
+>
+> Status: open or close.
+
+* When adding selectors or rules, you can use custom predicate judge:
+
+<img src="/img/shenyu/custom/use_custom_predicate_judge_en.png" width="80%" height="70%" />
+
+## Example
+
+* Add `GroovyPredicateJudge` and `SpELPredicateJudge` extension.
+
+```java
+/**
+ * Groovy predicate judge.
+ */
+@Join
+public class GroovyPredicateJudge implements PredicateJudge {
+    
+    @Override
+    public Boolean judge(final ConditionData conditionData, final String realData) {
+        return (Boolean) Eval.me(conditionData.getParamName(), realData, conditionData.getParamValue());
+    }
+}
+```
+
+```java
+/**
+ * SpEL predicate judge.
+ */
+@Join
+public class SpELPredicateJudge implements PredicateJudge {
+    
+    private static final ExpressionParser EXPRESSION_PARSER = new SpelExpressionParser();
+    
+    @Override
+    public Boolean judge(final ConditionData conditionData, final String realData) {
+        Expression expression = EXPRESSION_PARSER.parseExpression(conditionData.getParamValue().replace('#' + conditionData.getParamName(), realData));
+        return expression.getValue(Boolean.class);
+    }
+}
+```
+
+* Update `org.apache.shenyu.plugin.base.condition.judge.PredicateJudge`:
+
+```shell title="script"
+Groovy=xxx.xxx.xxx.GroovyPredicateJudge
+SpEL=xxx.xxx.xxx.SpELPredicateJudge
+```
diff --git a/versioned_docs/version-2.7.0.1/developer/spi/custom-rate-limiter.md b/versioned_docs/version-2.7.0.1/developer/spi/custom-rate-limiter.md
new file mode 100644
index 0000000000..39257182eb
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/spi/custom-rate-limiter.md
@@ -0,0 +1,104 @@
+---
+title: Custom Rate Limiter
+keywords: ["RateLimiter"]
+description: Custom Rate Limiter
+---
+
+## Explanation
+
+* Before custom development, please customize and build the gateway environment first, please refer to: [custom deployment](../../deployment/deployment-custom.md).
+
+* This article describes how to customize the extension of `org.apache.shenyu.plugin.ratelimiter.algorithm.RateLimiterAlgorithm` .
+
+## Extension
+
+* Create a new project and introduce the following dependencies:
+
+```xml
+<dependencies>
+    <dependency>
+        <groupId>org.apache.shenyu</groupId>
+        <artifactId>shenyu-plugin-base</artifactId>
+        <version>${project.version}</version>
+    </dependency>
+</dependencies>
+```
+
+* Create a new class `${you class}`, implements `org.apache.shenyu.plugin.ratelimiter.algorithm.RateLimiterAlgorithm`
+
+```java
+public class ${you class} implements RateLimiterAlgorithm<T> {
+   
+    /**
+     * Gets script.
+     *
+     * @return the script
+     */
+    public RedisScript<T> getScript() {
+        //coding and return
+    }   
+    
+    /**
+     * Gets keys.
+     *
+     * @param id the id
+     * @return the keys
+     */
+    public List<String> getKeys(String id) {
+        //coding and return
+    }
+    
+    /**
+     * Callback string.
+     *
+     * @param script the script
+     * @param keys the keys
+     * @param scriptArgs the script args
+     */
+    public void callback(final RedisScript<?> script, final List<String> keys, final List<String> scriptArgs) {
+        //coding and return
+    }
+}
+```
+
+* In the project  `resources` directory,Create a new `META-INF/shenyu` directory, and the new file name is : `org.apache.shenyu.plugin.ratelimiter.algorithm.RateLimiterAlgorithm`.
+add `${you spi name}` = `${you class path}`:
+
+```
+${you spi name} = ${you class path}
+```
+
+* Package the project and copy it to the `lib` or `ext-lib` directory of the gateway (bootstrap-bin).
+
+* In the `Admin` service ---> BasicConfig ---> Dictionary ,  Find the dictionary code as `ALGORITHM_*`, add a new piece of data, pay attention to the dictionary name: `${you spi name}`.
+
+<img src="/img/shenyu/custom/custom-rate-limiter-en.jpg" width="40%" height="30%" />
+
+* Or execute the following custom `SQL` statement:
+
+```sql
+INSERT IGNORE INTO `shenyu_dict` (
+        `id`,
+        `type`,
+        `dict_code`,
+        `dict_name`,
+        `dict_value`,
+        `desc`,
+        `sort`,
+        `enabled`,
+        `date_created`,
+        `date_updated`
+    )
+VALUES (
+        'you id',
+        'matchMode',
+        'MATCH_MODE',
+        'you spi name',
+        'you value',
+        'you spi name',
+        0,
+        1,
+        '2021-08-30 19:29:10',
+        '2021-08-30 20:15:23'
+    );
+```
diff --git a/versioned_docs/version-2.7.0.1/developer/thread-model.md b/versioned_docs/version-2.7.0.1/developer/thread-model.md
new file mode 100644
index 0000000000..cee61af2ec
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/developer/thread-model.md
@@ -0,0 +1,30 @@
+---
+title: Thread Model
+keywords: ["Thread"]
+description: thread model
+---
+
+## Description
+
+* This article gives an introduction to thread models in ShenYu and usage in various scenarios.
+
+## IO And Work Thread
+
+* `spring-webflux` is one of dependencies of ShenYu, and it uses Netty thread model in lower layer.
+
+## Business Thread
+
+* Use scheduling thread to execute by default.
+* A fixed thread pool manages business threads, the number of threads is count in this formula: cpu * 2 + 1.
+
+
+## Type Switching
+
+* `reactor.core.scheduler.Schedulers`.
+* `-Dshenyu.scheduler.type=fixed` is a default config. If set to other value, a flexible thread pool will take place it.`Schedulers.elastic()`.
+* `-Dshenyu.work.threads = xx` is for configuring number of threads, the default value calculates in following formula `cpu * 2 + 1` with a minimum of 16 threads.
+
+
+
+
+
diff --git a/versioned_docs/version-2.7.0.1/index.md b/versioned_docs/version-2.7.0.1/index.md
new file mode 100755
index 0000000000..6ed8b63106
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/index.md
@@ -0,0 +1,179 @@
+---
+sidebar_position: 1
+title: Overview
+keywords: ["Apache shenyu"]
+description: This is an asynchronous, high-performance, cross-language, responsive API gateway.
+aliases: "/shenyu/docs/Home"
+---
+
+# Architecture
+
+ ![](/img/architecture/shenyu-architecture-3d.png)  
+
+# What is the Apache ShenYu?
+
+This is an asynchronous, high-performance, cross-language, responsive API gateway.
+
+# Why named Apache ShenYu
+
+ShenYu (神禹) is the honorific name of Chinese ancient monarch Xia Yu (also known in later times as Da Yu), who left behind the touching story of the three times he crossed the Yellow River for the benefit of the people and successfully managed the flooding of the river. He is known as one of the three greatest kings of ancient China, along with Yao and Shun.
+
+* Firstly, the name ShenYu is to promote the traditional virtues of our Chinese civilisation.
+* Secondly, the most important thing about the gateway is the governance of the traffic.
+* Finally, the community will do things in a fair, just, open and meritocratic way, paying tribute to ShenYu while also conforming to the Apache Way.
+
+---
+
+# Features
+
+* Proxy: Support for Apache® Dubbo™, Spring Cloud, gRPC, Motan, SOFA, TARS, WebSocket, MQTT
+* Security: Sign, OAuth 2.0, JSON Web Tokens, WAF plugin
+* API governance: Request, response, parameter mapping, Hystrix, RateLimiter plugin
+* Observability: Tracing, metrics, logging plugin
+* Dashboard: Dynamic traffic control, visual backend for user menu permissions
+* Extensions: Plugin hot-swapping, dynamic loading
+* Cluster: NGINX, Docker, Kubernetes
+* Language: provides .NET, Python, Go, Java client for API register
+
+---
+
+# Mind map
+
+ ![](/img/shenyu/activite/shenyu-xmind.png)
+
+ ---
+
+# Quick Start (docker)
+
+### Run Apache ShenYu Admin
+
+```
+docker pull apache/shenyu-admin
+docker network create shenyu
+docker run -d -p 9095:9095 --net shenyu apache/shenyu-admin
+```
+
+Default account: **admin** 
+
+Default password: **123456**
+
+### Run Apache ShenYu Bootstrap
+
+```
+docker pull apache/shenyu-bootstrap
+docker run -d -p 9195:9195 -e "shenyu.local.enabled=true" --net shenyu apache/shenyu-bootstrap
+```
+
+### Set router
+
+* Real requests  :<http://127.0.0.1:8080/helloworld>,
+
+```json
+{
+  "name" : "Shenyu",
+  "data" : "hello world"
+}
+```
+
+* Set routing rules (Standalone)
+
+Add `localKey: 123456` to Headers. If you need to customize the localKey, you can use the sha512 tool to generate the key based on plaintext and update the `shenyu.local.sha512Key` property.
+
+```
+curl --location --request POST 'http://localhost:9195/shenyu/plugin/selectorAndRules' \
+--header 'Content-Type: application/json' \
+--header 'localKey: 123456' \
+--data-raw '{
+    "pluginName": "divide",
+    "selectorHandler": "[{\"upstreamUrl\":\"127.0.0.1:8080\"}]",
+    "conditionDataList": [{
+        "paramType": "uri",
+        "operator": "match",
+        "paramValue": "/**"
+    }],
+    "ruleDataList": [{
+        "ruleHandler": "{\"loadBalance\":\"random\"}",
+        "conditionDataList": [{
+            "paramType": "uri",
+            "operator": "match",
+            "paramValue": "/**"
+        }]
+    }]
+}'
+```
+
+* Proxy request :<http://localhost:9195/helloworld>
+
+```json
+{
+  "name" : "Shenyu",
+  "data" : "hello world"
+}
+```
+
+---
+
+# Plugin
+
+ Whenever a request comes in, Apache ShenYu will execute it by all enabled plugins through the chain of responsibility.
+
+ As the heart of Apache ShenYu, plugins are extensible and hot-pluggable.
+
+ Different plugins do different things.
+
+ Of course, users can also customize plugins to meet their own needs.
+
+ If you want to customize, see [custom-plugin](https://shenyu.apache.org/docs/developer/custom-plugin/) .
+
+---
+
+# Selector & Rule
+
+  According to your HTTP request headers, selectors and rules are used to route your requests.
+  
+  Selector is your first route, It is coarser grained, for example, at the module level.
+  
+  Rule is your second route and what do you think your request should do. For example a method level in a module.
+  
+  The selector and the rule match only once, and the match is returned. So the coarsest granularity should be sorted last.
+
+---
+
+# Data Caching & Data Sync
+
+  Since all data have been cached using ConcurrentHashMap in the JVM, it's very fast.
+  
+  Apache ShenYu dynamically updates the cache by listening to the ZooKeeper node (or WebSocket push, HTTP long polling) when the user changes configuration information in the background management.
+  
+  ![](/img/shenyu/dataSync/shenyu-config-processor-en.png)
+  
+  ![](/img/shenyu/dataSync/config-strategy-processor-en.png)
+
+---
+
+# Prerequisite
+
+* JDK 1.8+
+
+---
+
+# Stargazers over time
+
+<a href="https://starchart.cc/apache/shenyu.svg"><img src="https://starchart.cc/apache/shenyu.svg"/></a>
+
+---
+
+# Contributor and Support
+
+* [How to Contribute](https://shenyu.apache.org/community/contributor-guide)
+* [Mailing Lists](mailto:dev@shenyu.apache.org)
+
+---
+
+# Known Users
+
+In order of registration, More access companies are welcome to register at [https://github.com/apache/shenyu/issues/68](https://github.com/apache/shenyu/issues/68) (For open source users only) .
+
+All Users : [Known Users](https://shenyu.apache.org/community/user-registration)
+
+---
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/_category_.json b/versioned_docs/version-2.7.0.1/plugin-center/_category_.json
new file mode 100644
index 0000000000..5831affdd3
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/_category_.json
@@ -0,0 +1,4 @@
+{
+  "label": "Plugin Center",
+  "position": 6
+}
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/cache/_category_.json b/versioned_docs/version-2.7.0.1/plugin-center/cache/_category_.json
new file mode 100644
index 0000000000..8768a0fab5
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/cache/_category_.json
@@ -0,0 +1,4 @@
+{
+  "label": "Cache",
+  "position": 7
+}
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/cache/cache-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/cache/cache-plugin.md
new file mode 100644
index 0000000000..10675c4458
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/cache/cache-plugin.md
@@ -0,0 +1,152 @@
+---
+title: Cache Plugin
+keywords: ["Cache"]
+description: Cache Plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* Cache Plugin
+
+## 1.2 Appropriate Scenario
+
+* Situation where data is not updated frequently and a large number of calls are required.
+
+* For Situation where data consistency is not required.
+
+## 1.3 Plugin functionality
+
+* The `Cache` plugin is able to cache the results of the target service, allowing the user to configure the expiration
+  time of the cached results.
+
+## 1.4 Plugin code
+
+* Core Module `shenyu-plugin-cache-handler`.
+* Core Module `shenyu-plugin-cache-redis`.
+* Core Module `shenyu-plugin-cache-memory`.
+
+* Core Class `org.apache.shenyu.plugin.cache.CachePlugin`
+* Core Class `org.apache.shenyu.plugin.cache.redis.RedisCache`
+* Core Class `org.apache.shenyu.plugin.cache.memory.MemoryCache`
+
+## 1.5 Added Since Which shenyu version
+
+* Since 2.4.3
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/plugin_use_en.jpg)
+
+## 2.2 Import pom
+
+* Import cache plugin dependency in `ShenYu Bootstrap`.
+
+```xml
+<!--shenyu cache plugin start-->
+<dependency>
+  <groupId>org.apache.shenyu</groupId>
+  <artifactId>shenyu-spring-boot-starter-plugin-cache</artifactId>
+  <version>${project.version}</version>
+</dependency>
+<!--shenyu cache plugin end-->
+```
+
+## 2.3 Enable plugin
+
+- In shenyu-admin --> BasicConfig --> Plugin --> `cache` set Status enabled.
+
+## 2.4 Config plugin
+
+### 2.4.1 Plugin Config
+
+![](/img/shenyu/plugin/cache/cache-plugin-config-en.png)
+
+* `cacheType`: Cache currently supports two modes of caching data.
+
+* memory:local memory mode
+
+* redis:redis mode
+
+The current default is `local memory mode`, the results of the target service are stored in the local memory, if the
+gateway is deployed by way of cluster, it is not recommended to use `local memory mode`, it is recommended to
+use `redis mode`, the data of the target service are cached in redis.
+
+If you are using `local memory mode`, you only need to select memory in cacheType, no other configuration is needed.
+
+If you are using `redis mode`, select redis in cacheType, and the parameters are as follows
+
+* `database`: which database the cache results are stored in, the default is index database 0.
+
+* `master`: default is master.
+
+* `mode`: the working mode of redis, the default is single-point mode: `standalone`, in addition to cluster
+  mode: `cluster`, sentinel mode: `sentinel`.
+
+* `url`: configure the IP and port of the redis database, configured by colon connection, example: `192.168.1.1:6379`.
+
+* `password`: the password of the redis database, if not, you can not configure.
+
+* `maxldle`: the maximum free connections in the connection pool
+
+* `minldle`: minimum idle connections in the connection pool
+
+* `maxActive`: the maximum number of connections in the connection pool
+
+* `maxWait`: the maximum blocking wait time for the connection pool (use negative values to indicate no limit) default -1
+
+### 2.4.2 Selector Config
+
+* Selectors and rules, please refer to: [Selector And Rule Config](../../user-guide/admin-usage/selector-and-rule) .
+
+### 2.4.3 Rule Config
+
+![](/img/shenyu/plugin/cache/cache-plugin-rule-en.png)
+
+* Only matching requests will be cached by the Cache plugin for the results of the target service.
+
+`timeoutSecods`: the value is the target service result data cache time, the default is 60, in `seconds`.
+
+Notice: The current version of the Cache plugin uses the url as a unique key to identify the same request.
+
+## 2.5 Examples
+
+### 2.5.1 Use redis cache request result
+
+#### 2.5.1.1 Plugin Config
+
+![](/img/shenyu/plugin/cache/cache-plugin-config-example-en.png)
+
+select redis cache type, config redis database, url, mode, password
+
+#### 2.5.1.2 Selector Config
+
+![](/img/shenyu/plugin/cache/cache-plugin-selector-en.png)
+
+#### 2.5.1.3 Rule Config
+
+![](/img/shenyu/plugin/cache/cache-plugin-rule-en.png)
+
+#### 2.5.1.4 Send Request
+
+* send http request to cache result.
+
+```http title="request"
+### shengyu getway proxy orderSave
+GET http://localhost:9195/http/order/findById?id=123
+Accept: application/json
+Content-Type: application/json
+```
+
+#### 2.5.1.5 Check Result
+
+![](/img/shenyu/plugin/cache/cache-result.jpg)
+
+![](/img/shenyu/plugin/cache/cache-result-check.png)
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `cache` set Status disable.
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/common/_category_.json b/versioned_docs/version-2.7.0.1/plugin-center/common/_category_.json
new file mode 100644
index 0000000000..88b377b2c4
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/common/_category_.json
@@ -0,0 +1,4 @@
+{
+  "label": "Common",
+  "position": 6
+}
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/common/general-context-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/common/general-context-plugin.md
new file mode 100644
index 0000000000..b8d6453151
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/common/general-context-plugin.md
@@ -0,0 +1,36 @@
+---
+title: GeneralContext Plugin
+keywords: ["generalContext"]
+description: generalContext plugin
+---
+
+## Description
+
+* When making invokes to the target service, Apache ShenYu gateway also allows users to use the `generalContext` plugin to pass the service context parameters by reading the header in this request.
+
+## Plugin Setting
+
+* In `shenyu-admin` --> BasicConfig --> Plugin --> `generalContext`, set to enable.
+* If the user don't use, please disable the plugin in the background.
+
+<img src="/img/shenyu/plugin/general-context/general-context-open-en.png" width="70%" height="60%" />
+
+* Introduce `generalContext` support in the pox.xml file of the gateway.
+
+```xml
+        <!-- apache shenyu general context plugin start-->
+        <dependency>
+            <groupId>org.apache.shenyu</groupId>
+            <artifactId>shenyu-spring-boot-starter-plugin-general-context</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <!-- apache shenyu general context plugin end-->
+```
+
+* Selectors and rules, please refer to: [Selector And Rule Config](../../user-guide/admin-usage/selector-and-rule).
+* Only those matched requests can print the information about this request.
+
+## Situation
+
+* The parameters in the request header need to be passed to the proxy server.
+* Need to replace a key in the request header and pass it to the proxy server.
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/fault-tolerance/_category_.json b/versioned_docs/version-2.7.0.1/plugin-center/fault-tolerance/_category_.json
new file mode 100644
index 0000000000..b02214033d
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/fault-tolerance/_category_.json
@@ -0,0 +1,4 @@
+{
+  "label": "Fault Tolerance",
+  "position": 3
+}
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/fault-tolerance/hystrix-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/fault-tolerance/hystrix-plugin.md
new file mode 100644
index 0000000000..7e740e802c
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/fault-tolerance/hystrix-plugin.md
@@ -0,0 +1,144 @@
+---
+title: Hystrix Plugin
+keywords: ["Hystrix"]
+description: hystrix plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* Hystrix Plugin
+
+## 1.2 Appropriate Scenario
+
+* The backend service is unstable, use hystrix for protection
+
+## 1.3 Plugin functionality
+
+* Fusing the flow
+* Protect the application behind ShenYu Gateway
+* Isolation mode supports `thread` and `semaphore`.
+
+## 1.4 Plugin code
+
+* Core Module: `shenyu-plugin-hystrix`
+
+* Core Class: `org.apache.shenyu.plugin.hystrix.HystrixPlugin`
+
+## 1.5 Added Since Which shenyu version
+
+* Since ShenYu 2.4.0
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/plugin_use_en.jpg)
+
+## 2.2 Import pom
+
+* Add `hystrix` dependency in the `pom.xml` file of the gateway.
+
+```xml
+<!-- apache shenyu hystrix plugin start-->
+<dependency>
+  <groupId>org.apache.shenyu</groupId>
+  <artifactId>shenyu-spring-boot-starter-plugin-hystrix</artifactId>
+  <version>${project.version}</version>
+</dependency>
+<!-- apache shenyu hystrix plugin end-->
+```
+
+## 2.3 Enable plugin
+
+* In `shenyu-admin`--> BasicConfig --> Plugin --> `hystrix` set to enable.
+
+## 2.4 Config plugin
+
+### 2.4.1 Plugin Config
+
+* No Config, but you should open hystrix plugin.
+
+### 2.4.2 Selector Config
+
+It is used to filter traffic for the first time and does not require handle fields.
+
+For more information on selectors and rules configuration, see [Selector And Rule Config](../../user-guide/admin-usage/selector-and-rule) , only some of the fields are covered here.
+
+![](/img/shenyu/plugin/hystrix/selector_en.png)
+
+### 2.4.3 Rule Config
+
+* For the final filtering of traffic, there is a rule handler logic, isolation mode supports `thread` and `semaphore`.
+
+![](/img/shenyu/plugin/hystrix/rule_en.png)
+
+* Hystrix handler details:
+
+  * `MinimumRequests`: the minimum number of requests required to trigger a circuit breaker.
+
+  * `ErrorThresholdPercentage`: percentage of exception occurring during that time.
+     
+  * `Timeout`(ms): execution timeout.
+
+  * `MaxConcurrentRequests`: max concurrent requests.
+
+  * `Sleep`(ms): The recovery time after the circuit breaker.
+
+  * `GroupKey`: It is generally set to: `contextPath`.
+
+  * `CallBackUrl`: default url `/fallback/hystrix`.
+
+  * `CommandKey`: generally, it is set to a specific path interface.
+
+## 2.5 Examples
+
+### 2.5.1 use hystrix protect application
+
+#### 2.5.1.1 Preparation
+
+- Start ShenYu Admin
+- Start ShenYu Bootstrap
+- Start a backend service
+
+#### 2.5.1.2 Selector Config
+
+![](/img/shenyu/plugin/hystrix/selector_en.png)
+
+#### 2.5.1.3 Rule Config
+
+* The rules in the pictures below are test examples, actual environment depends on the specific situation.
+
+![](/img/shenyu/plugin/hystrix/hystrix-example-rule-en.png)
+
+* test example
+
+```java
+@RestController
+@RequestMapping("/test")
+@ShenyuSpringMvcClient("/test/**")
+public class HttpTestController {
+    @PostMapping("/testHystrix")
+    public ResultBean ok() {
+        Random random = new Random();
+        int num = random.nextInt(100);
+        if (num > 20) {
+            throw new RuntimeException();
+        }
+        return new ResultBean(200, "ok", null);
+    }
+}
+```
+
+#### 2.5.1.4 Send Request With `Apache Jmeter`
+
+![](/img/shenyu/plugin/hystrix/hystrix-send-request.png)
+
+#### 2.5.1.5 Check Result
+
+![](/img/shenyu/plugin/hystrix/hystrix-result.png)
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `hystrix` set Status disable.
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/fault-tolerance/rate-limiter-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/fault-tolerance/rate-limiter-plugin.md
new file mode 100644
index 0000000000..0f1c2a7794
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/fault-tolerance/rate-limiter-plugin.md
@@ -0,0 +1,193 @@
+---
+title: RateLimiter Plugin
+keywords: ["rateLimiter"]
+description: rateLimiter plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* RateLimiter Plugin
+
+## 1.2 Appropriate Scenario
+
+* traffic control in gateway cluster environment
+* rate limiting according to specific rules
+* You can set to the interface level, or the parameter level. How to use it depends on your traffic configuration.
+
+## 1.3 Plugin functionality
+
+* use redis to control gateway traffic
+
+## 1.4 Plugin code
+
+* Core Module `shenyu-plugin-ratelimiter`.
+
+* Core Class `org.apache.shenyu.plugin.ratelimiter.RateLimiterPlugin`
+* Core Class `org.apache.shenyu.plugin.ratelimiter.executor.RedisRateLimiter`
+
+## 1.5 Added Since Which shenyu version
+
+* Since ShenYu 2.4.0
+
+## 1.6 Technical Solution
+
+### 1.6.1 Using redis token bucket algorithm to limit traffic.
+
+- The system generates the token at a constant rate, and then puts the token into the token bucket.
+- The token bucket's capacity. When the bucket is full, the token put into it will be discarded.
+- Each time requests come, you need to obtain a token from the token bucket. If there are tokens, the service will be provided; if there are no tokens, the service will be rejected.
+
+* Flow Diagram:
+  ![](/img/shenyu/plugin/ratelimiter/tokenbucket.png)
+
+
+### 1.6.2 Using redis leaky bucket algorithm to limit traffic.
+
+- water (request) go to the leaky bucket first. The leaky bucket goes out at a fixed speed. When the flow speed is too fast, it will overflow directly (reject service)
+
+* Flow Diagram:
+  ![](/img/shenyu/plugin/ratelimiter/leakybucket.png)
+
+
+### 1.6.3 Using redis sliding time window algorithm to limit traffic.
+
+- The sliding time window maintains the count value of unit time. Whenever a requests pass, the count value will be increased by 1. When the count value exceeds the preset threshold, other requests in unit time will be rejected. If the unit time has ended, clear the counter to zero and start the next round counting.
+
+* Flow Diagram:
+  ![](/img/shenyu/plugin/ratelimiter/sldingwindow.png)
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure 
+
+![](/img/shenyu/plugin/plugin_use_en.jpg)
+
+## 2.2 Import pom
+
+* Add `rateLimiter` dependency in `pom.xml` file of the gateway.
+
+```xml
+<!-- apache shenyu ratelimiter plugin start-->
+<dependency>
+  <groupId>org.apache.shenyu</groupId>
+  <artifactId>shenyu-spring-boot-starter-plugin-ratelimiter</artifactId>
+  <version>${project.version}</version>
+</dependency>
+<!-- apache shenyu ratelimiter plugin end-->
+``` 
+
+## 2.3 Enable plugin
+
+* In `shenyu-admin`--> BasicConfig --> Plugin --> `rateLimiter` set to enable.
+
+## 2.4 Config plugin
+
+### 2.4.1 Plugin Config
+
+![](/img/shenyu/plugin/ratelimiter/ratelimiter-plugin-en.png)
+
+* `mode`: the working mode of redis, the default is single-point mode: `standalone`, in addition to cluster
+  mode: `cluster`, sentinel mode: `sentinel`.
+
+* `master`: default is master.
+
+* `url`: configure the IP and port of the redis database, configured by colon connection, example: `192.168.1.1:6379`.
+
+* `password`: the password of the redis database, if not, you can not configure.
+
+### 2.4.2 Selector Config
+
+* Selectors and rules, please refer to: [Selector And Rule Config](../../user-guide/admin-usage/selector-and-rule)
+
+### 2.4.3 Rule Config
+
+![](/img/shenyu/plugin/ratelimiter/ratelimiter-plugin-rule-en.png)
+
+* TokenBucket/Concurrent
+
+  * `algorithmName`: `tokenBucket`/`concurrent`.
+
+  * `replenishRate`: It is how many requests you allow users to execute per second, while not discarding any requests. This is the filling rate of token bucket.
+
+  * `burstCapacity`: it is the maximum number of requests that users are allowed to execute in one second. This is token bucket can save the number of token.
+
+  * `keyResolverName`: `whole` indicates that the traffic is limited by gateway per second, and `remoteAddress` indicates that the traffic is limited by IP per second.
+
+* LeakyBucket
+
+  * `algorithmName`: `leakyBucket`.
+
+  * `replenishRate`: The rate at which requests are executed per unit time, and the rate at which water droplets leak out of the leaky bucket.
+
+  * `burstCapacity`: The maximum number of requests that users are allowed to execute in one second. This is the amount of water in the bucket.
+
+  * `keyResolverName`: `whole` indicates that the traffic is limited by gateway per second, and `remoteAddress` indicates that the traffic is limited by IP per second.
+
+* SlidingWindow
+
+  * `algorithmName`: `slidingWindow`.
+
+  * `replenishRate`: The rate of requests per unit time, used to calculate the size of the time window.
+
+  * `burstCapacity`: The maximum number of requests in the time window (per unit time).
+
+  * `keyResolverName`: `whole` indicates that the traffic is limited by gateway per second, and `remoteAddress` indicates that the traffic is limited by IP per second.
+  
+## 2.5 Examples
+
+### 2.5.1 Limit traffic with `RateLimiter` plugin in gateway cluster environment
+
+#### 2.5.1.1 Preparation
+
+- Start ShenYu Admin on `10.10.10.10:9095`
+- Start two ShenYu Bootstrap on `10.10.10.20:9195` and `10.10.10.30:9195`, and config data sync center on `10.10.10.10:9095`
+- config nginx, for example:
+
+```nginx
+upstream shenyu_gateway_cluster {
+  ip_hash;
+  server 10.1.1.1:9195 max_fails=3 fail_timeout=10s weight=50;
+  server 10.1.1.2:9195 max_fails=3 fail_timeout=10s weight=50;
+}
+
+server {
+  location / {
+        proxy_pass http://shenyu_gateway_cluster;
+        proxy_set_header HOST $host;
+        proxy_read_timeout 10s;
+        proxy_connect_timeout 10s;
+  }
+}
+```
+
+#### 2.5.1.2 Plugin/Selector/Rule Configuration
+
+- config redis configuration with ratelimiter plugin
+
+- config selector
+
+- config rule
+
+![](/img/shenyu/plugin/ratelimiter/rule-example-en.png)
+
+replenishRate is 3, burstCapacity is 10
+
+#### 2.5.1.3 Send Request to `Ngin`x by `Apache Jmeter`
+
+* jmeter thread group configuration
+
+![](/img/shenyu/plugin/ratelimiter/jmeter-thread-group.png)
+
+* jmeter http request configuration
+
+![](/img/shenyu/plugin/ratelimiter/jmeter-http-request.png)
+
+#### 2.5.1.4 Check Result
+
+![](/img/shenyu/plugin/ratelimiter/jmeter-result.png)
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `rateLimiter` set Status disable.
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/fault-tolerance/resilience4j-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/fault-tolerance/resilience4j-plugin.md
new file mode 100644
index 0000000000..f58c00b30c
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/fault-tolerance/resilience4j-plugin.md
@@ -0,0 +1,81 @@
+---
+title: Resilience4j Plugin
+keywords: ["Resilience4j"]
+description: resilience4j plugin
+---
+
+## Description
+
+* `Resilience4j` is one of the options that supports flow control and circuit breaking.
+* `Resilience4j` supports flow control and circuit breaking functions for gateway.
+
+## Plugin Setting
+
+Select a mode to start shenyu-admin. For details, see  deployment. For example, with [Local Deployment](../../deployment/deployment-local) starts the `Apache ShenYu` background management system.
+
+* In BasicConfig --> Plugin --> resilience4j, set to enable.
+* If the user don't use, please disable the plugin in the background.
+
+<img src="/img/shenyu/plugin/resilience4j/resilience4j-plugin-en-1.png" width="80%" height="80%" />
+
+
+
+## Add resilience4j plugin dependency
+
+* Add `resilience4j` dependency in the `pom.xml` file of the gateway.
+
+```xml
+        <!-- apache shenyu resilience4j plugin start-->
+        <dependency>
+            <groupId>org.apache.shenyu</groupId>
+            <artifactId>shenyu-spring-boot-starter-plugin-resilience4j</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <!-- apache shenyu resilience4j plugin end-->
+``` 
+
+## Resilience4j Config
+
+For more information on selectors and rules configuration, see [Selector And Rule Config](../../user-guide/admin-usage/selector-and-rule) , only some of the fields are covered here.
+
+#### Selector Config
+
+It is used to filter traffic for the first time and does not require handle fields.
+
+
+<img src="/img/shenyu/plugin/resilience4j/resilience4j-plugin-en-2.png" width="80%" height="80%" />
+
+#### Rule Config
+
+For the final filtering of traffic, there is a rule handler logic.
+
+<img src="/img/shenyu/plugin/resilience4j/resilience4j-plugin-en-3.png" width="80%" height="80%" />
+
+* Resilience4j Processing Details
+
+  * `limitForPeriod` :Configures the number of permissions available during one limit refresh period,default value:`50`.
+
+  * `limitRefreshPeriod` :Configures the period of a limit refresh. After each period the rate limiter sets its permissions count back to the limitForPeriod value,default value:`500`.
+
+  * `timeoutDurationRate` :Configures wait time(ms) a thread waits for a permission,default value:`5000`.
+
+  * `circuitEnable` :Configures circuitBreaker enable, `0`:OFF ,`1`:ON ,default value:`0`.
+
+  * `failureRateThreshold` :Configures the failure rate threshold in percentage,When the failure rate is equal or greater than the threshold the CircuitBreaker transitions to open and starts short-circuiting calls,default value:`50`.
+
+  * `fallbackUri` :Configures the fallback uri.
+
+  * `minimumNumberOfCalls` :Configures the minimum number of calls which are required (per sliding window period) before the CircuitBreaker can calculate the error rate or slow call rate,default value:`100`.
+
+  * `bufferSizeInHalfOpen`:Configures the number of permitted calls when the CircuitBreaker is half open,default value:`10`.
+
+  * `slidingWindowSize` :Configures the size of the sliding window which is used to record the outcome of calls when the CircuitBreaker is closed,default value:`100`.
+
+  * `slidingWindowType` :Configures the type of the sliding window which is used to record the outcome of calls when the CircuitBreaker is closed,
+      Sliding window can either be `0`:count-based or `1`:time-based.,default value:`0`.
+
+  * `timeoutDuration` :Configures request CircuitBreaker timeout(ms),default value:`30000`.
+
+  * `waitIntervalInOpen` :Configures the circuitBreaker time(ms) of duration,default value:`10`.
+
+  * `automaticTransitionFromOpenToHalfOpenEnabled` :Configures automatically transition from open state to half open state,`true`:ON, `false`:OFF, default value:`false`.
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/fault-tolerance/sentinel-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/fault-tolerance/sentinel-plugin.md
new file mode 100644
index 0000000000..9c7919098b
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/fault-tolerance/sentinel-plugin.md
@@ -0,0 +1,215 @@
+---
+title: Sentinel Plugin
+keywords: ["Sentinel"]
+description: sentinel plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* Sentinel Plugin
+
+## 1.2 Appropriate Scenario
+
+* `Sentinel` is one of the options that supports flow control and circuit breaking.
+* `Sentinel` supports flow control and circuit breaking functions for gateway.
+
+## 1.3 Plugin functionality
+
+* flow control
+* request circuit breaker and service degrade
+
+## 1.4 Plugin code
+
+* Core Module `shenyu-plugin-sentinel`.
+
+* Core Class `org.apache.shenyu.plugin.sentinel.SentinelPlugin`
+
+## 1.5 Added Since Which shenyu version
+
+* Since 2.4.0
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/plugin_use_en.jpg)
+
+## 2.2 Import pom
+
+* Add `sentinel` dependency in the `pom.xml` file of the gateway(shenyu-bootstrap).
+
+```xml
+<!-- apache shenyu sentinel plugin start-->
+<dependency>
+  <groupId>org.apache.shenyu</groupId>
+  <artifactId>shenyu-spring-boot-starter-plugin-sentinel</artifactId>
+  <version>${project.version}</version>
+</dependency>
+<!-- apache shenyu sentinel plugin end-->
+``` 
+
+## 2.3 Enable plugin
+
+* In `shenyu-admin`--> BasicConfig --> Plugin --> `sentinel` set to enable.
+
+## 2.4 Config plugin
+
+### 2.4.1 Plugin configuration
+
+### 2.4.2 Selector configuration
+
+It is used to filter traffic for the first time and does not require `handle` fields.
+
+<img src="/img/shenyu/plugin/sentinel/selector_en.png" width="80%" height="80%" />
+
+### 2.4.3 Rule configuration
+
+For the final filtering of traffic, there is a rule handler logic.
+
+<img src="/img/shenyu/plugin/sentinel/rule_en.png" width="80%" height="80%" />
+
+| field                                               | default value      | field type | desc                                                                                                                       |
+|-----------------------------------------------------|--------------------|------------|----------------------------------------------------------------------------------------------------------------------------|
+| degradeRuleCount                                    |                    | Doule      | degrade threshold                                                                                                          |
+| degradeRuleEnable                                   | 1(enabled)         | Integer    | whether enable circuit breaking function of `sentinel`                                                                     |
+| degradeRuleGrade                                    | 0(slow call ratio) | Integer    | circuit breaker strategy, support RT of seconds level/ Error Ratio of seconds level/ Error Count of minutes level strategy |
+| degradeRuleMinRequestAmount                         | 5                  | Integer    | circuit breaker min request amount                                                                                         |
+| degradeRuleSlowRatioThreshold                       | 1.0d               | Double     | slow ratio threshold of degrading                                                                                          |
+| degradeRuleStatIntervals                            | 1                  | Integer    | status intervals of degrade                                                                                                |
+| degradeRuleTimeWindow                               |                    | Integer    | time of degrading(unit: second)                                                                                            |
+| flowRuleControlBehavior                             | 0(direact reject)  | Integer    | effect(reject directly/ queue/ slow start up), it do not support flow control by invocation relation.                      |
+ | flowRuleControlBehavior-direct rejection by default |                    |            |                                                                                                                            |
+| flowRuleControlBehavior-warm up                     |                    |            | |
+| flowRuleControlBehavior-constant speed queuing      |                    |            | |
+| flowRuleControlBehavior-preheating uniformly queued |                    |            | |
+| flowRuleMaxQueueingTimeMs                           | 500ms              | Integer    | Maximum queuing time (valid in "preheating uniformly queued", "constant speed queuing" mode)                               |
+| flowRuleWarmUpPeriodSec                             | 10                 | Integer    | Cold start warm-up time (seconds) (valid in "preheating uniformly queued" "warm up" mode)                                  |
+| flowRuleCount                                       |                    | Integer    | sentinel flow control count                                                                                                |
+| flowRuleEnable                                      | 1(enabled)         | Integer    | whether enable sentinel flow control function.                                                                             |
+| flowRuleGrade                                       | 1(QPS)             | Integer    | type of current limit threshold(QPS or Thread Count)。                                                                      |
+| fallbackUri                                         |                    | String     | degraded uri after circuit breaking.                                                                                                                           |
+
+## 2.5 Examples
+
+### 2.5.1 Using sentinel for flow control
+
+#### 2.5.1.1 Plugin configuration
+
+For more information on selectors and rules configuration, see [Selector And Rule Config](../../user-guide/admin-usage/selector-and-rule) , only some of the fields are covered here.
+
+* In `shenyu-admin`--> BasicConfig --> Plugin --> `sentinel` set to enable.
+
+#### 2.5.1.2 Selector configuration
+
+![](/img/shenyu/plugin/sentinel/example-selector-en.png)
+
+#### 2.5.1.3 Rule configuration
+
+![](/img/shenyu/plugin/sentinel/example-rule-en.png)
+
+just use qps flow control strategy, and qps is 10, reject strategy is directly reject.
+
+the code is as follows:
+
+```java
+@RestController
+@RequestMapping("/order")
+@ShenyuSpringMvcClient("/order")
+public class OrderController {
+
+    /**
+     * Save order dto.
+     *
+     * @param orderDTO the order dto
+     * @return the order dto
+     */
+    @PostMapping("/save")
+    @ShenyuSpringMvcClient("/save")
+    public OrderDTO save(@RequestBody final OrderDTO orderDTO) {
+        orderDTO.setName("hello world save order");
+        return orderDTO;
+    }
+}
+```
+
+#### 2.5.1.4 request by `Apache Jmeter`
+
+* Jmeter thead group config
+
+![](/img/shenyu/plugin/sentinel/sentinel-flow-control-config.png)
+
+* Jmeter http request config
+
+![](/img/shenyu/plugin/sentinel/sentinel-flow-control-http.png)
+
+#### 2.5.1.5 Check result
+
+![](/img/shenyu/plugin/sentinel/sentinel-flow-control.png)
+
+### 2.5.2 Using sentinel for request circuit breaker
+
+#### 2.5.2.1 Plugin configuration
+
+* In `shenyu-admin`--> BasicConfig --> Plugin --> `sentinel` set to enable.
+
+#### 2.5.2.2 Selector configuration
+
+![](/img/shenyu/plugin/sentinel/example-selector-en.png)
+
+#### 2.5.2.3 Rule configuration
+
+![](/img/shenyu/plugin/sentinel/example-circuitbreaker-rule.png)
+
+when degrade strategy is `exception number`, `degradeRuleSlowRatioThreshold` is not effective. When the minimum number of requests per unit of time is 5, and the request happens exception great than 3, it will trigger the circuit breaker.
+
+when degrade strategy is `slow call ratio`, `degradeRuleSlowRatioThreshold` is effective, `degradeRuleCount` means RT(e.g. 200).
+
+the code is as follows:
+
+```java
+@RestController
+@RequestMapping("/order")
+@ShenyuSpringMvcClient("/order")
+public class OrderController {
+
+    /**
+     * Save order dto.
+     *
+     * @param orderDTO the order dto
+     * @return the order dto
+     */
+    @PostMapping("/save")
+    @ShenyuSpringMvcClient("/save")
+    public OrderDTO save(@RequestBody final OrderDTO orderDTO) {
+
+        Random random = new Random();
+        int num = random.nextInt(100);
+        if (num > 40) {
+            throw new RuntimeException("num great than 20");
+        }
+        orderDTO.setName("hello world save order");
+        return orderDTO;
+    }
+
+}
+```
+
+#### 2.5.2.4 request by `Apache Jmeter`
+
+* Jmeter thead group config
+
+![](/img/shenyu/plugin/sentinel/sentinel-flow-control-config.png)
+
+* Jmeter http request config
+
+![](/img/shenyu/plugin/sentinel/sentinel-flow-control-http.png)
+
+#### 2.5.2.5 Check result
+
+![](/img/shenyu/plugin/sentinel/example-circuitbreaker.png)
+
+# 3. How to disable plugin 
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `sentinel` set Status disable.
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/http-process/_category_.json b/versioned_docs/version-2.7.0.1/plugin-center/http-process/_category_.json
new file mode 100644
index 0000000000..77ac2bace2
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/http-process/_category_.json
@@ -0,0 +1,4 @@
+{
+  "label": "Http Process",
+  "position": 1
+}
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/http-process/contextpath-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/http-process/contextpath-plugin.md
new file mode 100644
index 0000000000..62ca8b81f9
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/http-process/contextpath-plugin.md
@@ -0,0 +1,153 @@
+---
+title: ContextPath Plugin
+keywords: ["contextPath"]
+description: contextPath plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* ContextPath Plugin
+
+## 1.2 Appropriate Scenario
+
+* Different services can do traffic governance of services by setting different context paths.
+
+## 1.3 Plugin functionality
+
+* Set the context path for service.
+* When the interface is called, the plug-in uniformly prefixes the interface address of the service.
+
+## 1.4 Plugin Code
+
+* Core module ```shenyu-plugin-context-path```
+* Core class ```org.apache.shenyu.plugin.context.path.ContextPathPlugin```
+
+## 1.5 Added since which shenyu version
+
+* 2.3.0
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/context-path/procedure-en.png)
+
+## 2.2 Import pom
+
+- import maven config in shenyu-bootstrap project's `pom.xml` file.
+
+```xml
+  <dependency>
+      <groupId>org.apache.shenyu</groupId>
+      <artifactId>shenyu-spring-boot-starter-gateway</artifactId>
+     <version>${project.version}</version>
+  </dependency>
+```
+
+## 2.3 Enable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `contextPath` set Status enable.
+
+![](/img/shenyu/plugin/context-path/enable-en.png)
+
+## 2.4 Config plugin
+
+- Set client project's contextPath.
+
+![](/img/shenyu/plugin/context-path/client-project-config.png)
+
+- Selector and rule config, please refer: [Selector and rule config](../../user-guide/admin-usage/selector-and-rule).
+- shenyu-admin contextPath plugin config, config contextPath and addPrefix, contextPath defines the value of contextPath, 
+- and addPrefix defines the prefix that needs to be automatically added when the interface is called.
+
+![](/img/shenyu/plugin/context-path/plugin-config-en.png)
+
+## 2.5 Examples
+
+### 2.5.1 Example set service context path
+
+#### 2.5.1.1 Refer [Local Deployment](https://shenyu.apache.org/docs/deployment/deployment-local/) to start admin and bootstrap.
+
+#### 2.5.1.2 Refer 2.2 to import pom and restart bootstrap.
+
+#### 2.5.1.3 Refer 2.3 to enable plugin.
+
+#### 2.5.1.4 Client project config contextPath.
+
+Client project can directly use [shenyu-examples-http](https://github.com/apache/shenyu/tree/master/shenyu-examples/shenyu-examples-http), and config contextPath in application.yml.
+
+![](/img/shenyu/plugin/context-path/client-project-config.png)
+
+- After the configuration is completed, and start client project, you can see that there is an additional context selector and rule configuration in shenyu-admin.
+
+![](/img/shenyu/plugin/context-path/context-path-selector-and-rule-en.png)
+
+#### 2.5.1.5 Call Interface
+
+![](/img/shenyu/plugin/context-path/invoke-interface.png)
+
+### 2.5.2 Example add prefix
+
+#### 2.5.2.1 Refer [Local Deployment](https://shenyu.apache.org/docs/deployment/deployment-local/) to start admin and bootstrap.
+
+#### 2.5.2.2 Refer 2.2 to import pom and restart bootstrap.
+
+#### 2.5.2.3 Refer 2.3 to enable plugin.
+
+#### 2.5.2.4 Client project config contextPath.
+
+For client project we can directly use [shenyu-examples-http](https://github.com/apache/shenyu/tree/master/shenyu-examples/shenyu-examples-http), and config contextPath in application.yml.
+
+![](/img/shenyu/plugin/context-path/client-project-config.png)
+
+- After the configuration is completed, start client project, you can see that there is an additional context selector and rule configuration in shenyu-admin.
+
+![](/img/shenyu/plugin/context-path/context-path-selector-and-rule-en.png)
+
+#### 2.5.2.5 Config addPrefix
+
+![](/img/shenyu/plugin/context-path/add-prefix-en.png)
+ 
+#### 2.5.2.6 Modify the value of uri in the selector and condition configuration to delete the addPrefix part. 
+
+Since this example uses the service of the http protocol, we need to modify the divide plugin.
+
+![](/img/shenyu/plugin/context-path/remove-add-prefix-en.png)
+
+#### 2.5.2.7 Call Interface
+
+![](/img/shenyu/plugin/context-path/invoke-interface-add-prefix.png)
+
+### 2.5.3 Example rewrite application
+
+#### 2.5.3.1 Refer [Local Deployment](https://shenyu.apache.org/docs/deployment/deployment-local/) to start admin and bootstrap.
+
+#### 2.5.3.2 Refer 2.2 to import pom and restart bootstrap.
+
+#### 2.5.3.3 Refer 2.3 to enable plugin.
+
+#### 2.5.3.4 Run client projects.
+
+For client project we can directly use [shenyu-examples-http](https://github.com/apache/shenyu/tree/master/shenyu-examples/shenyu-examples-http) and [shenyu-examples-https](https://github.com/apache/shenyu/tree/master/shenyu-examples/shenyu-examples-https).
+
+- After the client projects started, you can see that there are two additional context selectors and rules configuration in shenyu-admin.
+
+![](/img/shenyu/plugin/context-path/context-path-selectors.jpg)
+
+#### 2.5.3.5 Config rewriteContextPath
+
+![](/img/shenyu/plugin/context-path/rewrite-context-path.jpg)
+
+Note: the percentage can adjust the rewriting ratio from 0 to 100, with a default of 100, indicating complete rewriting.
+
+#### 2.5.2.6 Call Interface
+
+![](/img/shenyu/plugin/context-path/invoke-interface-rewrite-context-path.jpg)
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `contextPath` set Status disable.
+
+![](/img/shenyu/plugin/context-path/disable-en.png)
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/http-process/modifyresponse-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/http-process/modifyresponse-plugin.md
new file mode 100644
index 0000000000..06dd2d0bdf
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/http-process/modifyresponse-plugin.md
@@ -0,0 +1,146 @@
+---
+title: ModifyResponse Plugin
+keywords: ["modifyResponse"]
+description: modifyResponse plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* ModifyResponse Plugin
+
+## 1.2 Appropriate Scenario
+
+* This plugin is used for modifying HTTP response status code, response headers or response body parameters.
+
+## 1.3 Plugin functionality
+
+* Reset HTTP response status code
+* Add, set, replace or remove HTTP response headers.
+* Add, replace or remove HTTP response body(JSON) parameters.
+
+## 1.4 Plugin Code
+
+* Core module ```shenyu-plugin-modify-response```
+* Core class ```org.apache.shenyu.plugin.modify.response.ModifyResponsePlugin```
+
+## 1.5 Added since which shenyu version
+
+* 2.4.0
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/modify-response/procedure-en.png)
+
+## 2.2 Import pom
+
+- import maven config in shenyu-bootstrap project's `pom.xml` file.
+
+```xml
+  <dependency>
+      <groupId>org.apache.shenyu</groupId>
+      <artifactId>shenyu-spring-boot-starter-gateway</artifactId>
+     <version>${project.version}</version>
+  </dependency>
+```
+
+## 2.3 Enable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `modifyResponse` set Status enable.
+- 
+![](/img/shenyu/plugin/modify-response/enable-en.png)
+
+## 2.4 Config plugin
+
+* Selector and rule config, please refer: [Selector and rule config](../../user-guide/admin-usage/selector-and-rule).
+* In `shenyu-admin` --> `PluginList` --> `HttpProcess` --> `modifyResponse`, add selector config first,then add rule config:
+  * Add selector config
+    ![](/img/shenyu/plugin/modify-response/plugin-selector-config-en.png)
+  * Add rule config
+    ![](/img/shenyu/plugin/modify-response/plugin-rule-config-en.png)
+
+## 2.5 Examples
+
+Here is an example of client project [shenyu-examples-http](https://github.com/apache/shenyu/tree/master/shenyu-examples/shenyu-examples-http).
+
+### 2.5.1 Example reset HTTP response status code
+
+#### 2.5.1.1 Refer [Local Deployment](https://shenyu.apache.org/docs/deployment/deployment-local/) to start admin and bootstrap.
+
+#### 2.5.1.2 Refer 2.2 to import pom and restart bootstrap.
+
+#### 2.5.1.3 Refer 2.3 to enable plugin.
+
+#### 2.5.1.4 Refer 2.4 to add plugin config.
+
+Add plugin config:
+
+![](/img/shenyu/plugin/modify-response/status-code-rule-config-en.png)
+
+#### 2.5.1.5 Call Interface
+
+![](/img/shenyu/plugin/modify-response//status-code-invoke-interface.png)
+
+### 2.5.2 Example modify HTTP response headers
+
+#### 2.5.2.1 Refer [Local Deployment](https://shenyu.apache.org/docs/deployment/deployment-local/) to start admin and bootstrap.
+
+#### 2.5.2.2 Refer 2.2 to import pom and restart bootstrap.
+
+#### 2.5.2.3 Refer 2.3 to enable plugin.
+
+#### 2.5.2.4 Refer 2.4 to add plugin config.
+
+Add plugin config:
+
+![](/img/shenyu/plugin/modify-response/header-rule-config-en.png)
+
+#### 2.5.2.5 Call Interface
+
+![](/img/shenyu/plugin/modify-response/header-invoke-interface.png)
+
+### 2.5.3 Example modify HTTP response body
+
+#### 2.5.3.1 Refer [Local Deployment](https://shenyu.apache.org/docs/deployment/deployment-local/) to start admin and bootstrap.
+
+#### 2.5.3.2 Refer 2.2 to import pom and restart bootstrap.
+
+#### 2.5.3.3 Refer 2.3 to enable plugin.
+
+#### 2.5.3.4 Refer 2.4 to add plugin config.
+
+Add plugin config:
+
+![](/img/shenyu/plugin/modify-response/body-rule-config-en.png)
+
+#### 2.5.3.5 Call Interface
+
+![](/img/shenyu/plugin/modify-response/body-invoke-interface.png)
+
+## 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `modifyResponse` set Status disable.
+
+![](/img/shenyu/plugin/modify-response/disable-en.png)
+
+## 4. rule parameter list
+
+for modifying status code:
+
+* `statusCode`: reset response status code
+
+for modifying response headers:
+
+* `addHeaders`: add response headers, `k-v` format
+* `setHeaders`: set response headers, `k-v` format
+* `replaceHeaderKeys`: replace response headers,`key` is matching to the header key that should be replacing, value is target value after replacing 
+* `removeHeaderKeys`: remove response headers,`key` is matching to the header key that should be removing
+
+for modifying response body:
+
+* `addBodyKeys`: add response body parameters
+* `replaceBodyKeys`: replace response body parameters,`key` is matching to the body(JSON) key that should be replacing, value is target value after replacing
+* `removeBodyKeys`: remove response body parameters,`key` is matching to the body(JSON) key that should be removing
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/http-process/parammapping-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/http-process/parammapping-plugin.md
new file mode 100644
index 0000000000..caa04ab272
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/http-process/parammapping-plugin.md
@@ -0,0 +1,109 @@
+---
+title: ParamMapping Plugin
+keywords: ["paramMapping-plugin"]
+description:  paramMapping-plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* ParamMapping Plugin
+
+## 1.2 Appropriate Scenario
+
+* Add/remove/replace certain fixed parameters to the request
+
+## 1.3 Plugin functionality
+
+* `paramMapping` is used to edit your request parameters.
+
+## 1.4 Plugin code
+
+* Core Module `shenyu-plugin-param-mapping`
+
+* Core Class `org.apache.shenyu.plugin.param.mapping.ParamMappingPlugin`
+
+## 1.5 Added Since Which shenyu version
+
+* Since ShenYu 2.4.0
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/plugin_use_en.jpg)
+
+## 2.2 Import pom
+
+* Introduce `paramMapping` dependency in the pom.xml file of the gateway.
+
+```xml
+<!-- apache shenyu param_mapping plugin start-->
+<dependency>
+  <groupId>org.apache.shenyu</groupId>
+  <artifactId>shenyu-spring-boot-starter-plugin-param-mapping</artifactId>
+  <version>${project.version}</version>
+</dependency>
+<!-- apache shenyu param_mapping plugin end-->
+```
+
+## 2.3 Enable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `paramMapping` set Status enabled.
+
+## 2.4 Config plugin
+
+### 2.4.1 Plugin Config
+
+* you should open this plugin when using.
+
+### 2.4.2 Selector Config
+
+* Selectors and rules, please refer to:[Selector And Rule Config](../../user-guide/admin-usage/selector-and-rule)。
+
+* Only those matched requests can be modified your request body.
+
+### 2.4.3 Rule Config
+
+![](/img/shenyu/plugin/param-mapping/param-mapping.png)
+* param details:
+  * `addParameterKeys`: add a new `key-value` on body
+  * `replaceParameterKeys`: replace request body's `key` ,`key` is the value to be replaced,`value` is the value after replacement
+  * `removeParameterKeys`: remove a body `key`
+
+* param_mapping modify the request body is achieved through `JSONPath` , `$.` represents the root directory.
+
+## 2.5 Examples
+
+### 2.5.1 Add parameters in request
+
+#### 2.5.1.1 Config Plugin
+
+* you should open the plugin when using.
+
+#### 2.5.1.2 Selector Config
+
+#### 2.5.1.3 Rule Config
+
+![](/img/shenyu/plugin/param-mapping/param-mapping.png)
+
+use the configuration,unopened the plugin,request body is:
+
+```json
+{"id":3,"data":{"value":"18","age":"36"}}
+```
+
+#### 2.5.1.4 Check Result
+
+open the plugin,the final request body is
+
+```json
+{"name":"shenyu","userId":3,"data":{"age":"36"}}
+```
+
+add a new key-value `name:shenyu`,replace the key `id` to `userId`, remove the key `data.value` .
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `paramMapping` set Status disable.
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/http-process/redirect-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/http-process/redirect-plugin.md
new file mode 100644
index 0000000000..3e61f08f81
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/http-process/redirect-plugin.md
@@ -0,0 +1,94 @@
+---
+title: Redirect Plugin
+keywords: ["redirect"]
+description: redirect plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+  - Redirect Plugin
+
+## 1.2 Appropriate Scenario
+
+  - As the name suggests, the `redirect` plugin is to re-forward and redirect `uri`.
+
+## 1.3 Plugin functionality
+
+  - When the Apache ShenYu gateway makes proxy calls to the target service, it also allows users to use the `redirect` plugin to redirect requests.
+
+## 1.4 Plugin code
+
+  Core module ```shenyu-plugin-context-redirect```
+  Core class ```org.apache.shenyu.plugin.redirect.RedirectPlugin```
+
+## 1.5 Added Since Which shenyu version
+
+  before 2.2.0 .
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+  <img src="/img/shenyu/plugin/redirect/redirect-procedure-en.png" width="40%" height="30%" />
+
+## 2.2 Import pom
+
+  - import maven config in shenyu-bootstrap project's `pom.xml` file.
+
+  ```xml
+  <!-- apache shenyu redirect plugin start-->
+  <dependency>
+      <groupId>org.apache.shenyu</groupId>
+      <artifactId>shenyu-spring-boot-starter-plugin-redirect</artifactId>
+     <version>${project.version}</version>
+  </dependency>
+  <!-- apache shenyu redirect plugin end-->
+  ```
+
+## 2.3 Enable plugin
+
+  - In `shenyu-admin` --> BasicConfig --> Plugin --> `Redirect` set Status enable.
+
+    <img src="/img/shenyu/plugin/redirect/redirect-plugin-enable-en.png" width="70%" height="60%" />
+
+## 2.4 Config plugin
+
+  - Selector and rule config, please refer: [Selector and rule config](../../user-guide/admin-usage/selector-and-rule).
+  - In `shenyu-admin` --> `PluginList` --> `HttpProcess` --> `Redirect`, add selector config first,then add rule config:
+    - Add selector config
+
+      <img src="/img/shenyu/plugin/redirect/redirect-plugin-forward-rule-en.png" width="80%" height="60%" />
+    - Add rule config
+
+      <img src="/img/shenyu/plugin/redirect/redirect-plugin-rule-en.png" width="80%" height="60%" />
+
+## 2.5 Examples
+
+### 2.5.1 Redirect
+
+  - When we configure a custom path in `Rule`, it should be a reachable service path.
+  - When the request is matched, the `ShenYu Gateway` will perform the `308` service jump according to the customized path.
+  1. Refer [Local Deployment](https://shenyu.apache.org/docs/deployment/deployment-local/) to start admin and bootstrap.
+  2. Refer 2.2 to import pom and restart bootstrap.
+  3. Refer 2.3 to enable plugin.
+  4. Refer 2.4 and [Selector and rule config](../../user-guide/admin-usage/selector-and-rule).
+  5. Invoke interface: [demo](http://localhost:9195/http)
+  - Invoke the interface declared by selectors and rules will redirect to the specified path.
+  - In this demo, it will jump to [ShenYu official website](https://shenyu.apache.org)
+
+    <img src="/img/shenyu/plugin/redirect/redirect.png" width="70%" height="60%" />
+
+### 2.5.2 Gateway's own interface forwarding
+
+  - When the matching rules are met, the service will use the `DispatcherHandler` internal interface for forwarding.
+  - To implement the gateway's own interface forwarding, we need to use `/` as the prefix in the configuration path. The specific configuration is as shown in the figure below.
+
+    <img src="/img/shenyu/plugin/redirect/demo2-en.png" width="70%" height="60%" />
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `Redirect` set Status disable.
+
+  <img src="/img/shenyu/plugin/redirect/disable-redirect-plugin-zh.png" width="70%" height="60%" />
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/http-process/request-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/http-process/request-plugin.md
new file mode 100644
index 0000000000..b3757c5120
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/http-process/request-plugin.md
@@ -0,0 +1,91 @@
+---
+title: Request Plugin
+keywords: ["request"]
+description: request plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* Request Plugin
+
+## 1.2 Appropriate Scenario
+
+* The request plugin is able to make customized changes to the request parameters of `uri`.
+
+## 1.3 Plugin functionality
+
+* The `Apache ShenYu` gateway allows users to use the `request` plugin to add, modify, and remove request headers to request parameters, request headers, and `Cookie` when proxying a target service.
+
+## 1.4 Plugin code
+
+* Core Module `shenyu-plugin-request`
+
+* Core Class `org.apache.shenyu.plugin.request.RequestPlugin`
+
+## 1.5 Added Since Which shenyu version
+
+* Since ShenYu 2.4.0
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+<img src="/img/shenyu/plugin/request/request-plugin-procedure-en.png" width="40%" height="30%" />
+
+## 2.2 Import pom
+
+- Import maven config in shenyu-bootstrap project's `pom.xml` file, which is already added by default.
+
+```xml
+  <dependency>
+      <groupId>org.apache.shenyu</groupId>
+      <artifactId>shenyu-spring-boot-starter-plugin-request</artifactId>
+      <version>${project.version}</version>
+  </dependency>
+```
+
+## 2.3 Enable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `request` set Status enabled.
+
+  > If there is an option to configure a `ruleHandlePageType` on the page here, you can configure any string, e.g. `custom`, which has no effect on the request, and will be removed in later versions.
+
+  <img src="/img/shenyu/plugin/request/request-plugin-enable-en.png" width="70%" height="60%" />
+
+
+## 2.4 Config plugin
+
+- selectors and rules, only requests that match are forwarded and redirected, see the [Selector And Rule Config](../../user-guide/admin-usage/selector-and-rule)
+- `shenyu-admin` Plugin --> `HttpProcess` --> `Request`. Add the selector first, then add the rule:
+- Add the selector:
+
+  <img src="/img/shenyu/plugin/request/request-plugin-selector-en.png" width="70%" height="60%" />
+
+- Add the rule
+
+  <img src="/img/shenyu/plugin/request/request-plugin-rule-en.png" width="70%" height="60%" />
+
+## 2.5 Examples
+
+### 2.5.1 Adding request parameters
+
+- When we configure a custom path in `Rules`, it should be a reachable service path.
+- When a request is matched, based on the customized path, the `Apache ShenYu` gateway performs a service hop.
+
+1. Refer to [Local Deployment](https://shenyu.apache.org/docs/deployment/deployment-local)启动 admin 和网关
+2. Refer to 2.2 importing pom and restarting the gateway.
+3. Refer to 2.3 enabling Plugin
+4. Start the project [shenyu-examples-http](https://github.com/apache/shenyu/tree/master/shenyu-examples/shenyu-examples-http) 
+5. Refer to 2.4 and [Selector And Rule Config](../../user-guide/admin-usage/selector-and-rule), configuring plugin rules.
+6. Call interface:[http-test-api.http](https://github.com/apache/shenyu/blob/master/shenyu-examples/shenyu-examples-http/src/main/http/http-test-api.http)
+- Calling the interface declared by the selector and rule will see the request parameters configured in the request plugin.
+
+  <img src="/img/shenyu/plugin/request/request-plugin-example-zh.png" width="70%" height="60%" />
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `request` set Status disable.
+- 
+  <img src="/img/shenyu/plugin/request/request-plugin-disable-en.png" width="70%" height="60%" />
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/http-process/rewrite-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/http-process/rewrite-plugin.md
new file mode 100644
index 0000000000..a4bc9243ed
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/http-process/rewrite-plugin.md
@@ -0,0 +1,105 @@
+---
+title: Rewrite Plugin
+keywords: ["rewrite"]
+description: rewrite plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* Rewrite Plugin
+
+## 1.2 Appropriate Scenario
+
+* The request uri can be different from the target service by rewriting the path.
+
+## 1.3 Plugin functionality
+
+* This plugin is used to rewrite the request uri.
+
+## 1.4 Plugin code
+
+* Core Module `shenyu-plugin-rewrite`
+
+* Core Class `org.apache.shenyu.plugin.rewrite.RewritePlugin`
+
+## 1.5 Added Since Which shenyu version
+
+* Since ShenYu 2.4.0
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/rewrite/rewrite_use_en.png)
+
+## 2.2 Import pom
+
+- Import maven config in shenyu-bootstrap project's `pom.xml` file..
+
+```xml
+  <dependency>
+      <groupId>org.apache.shenyu</groupId>
+      <artifactId>shenyu-spring-boot-starter-plugin-rewrite</artifactId>
+      <version>${project.version}</version>
+  </dependency>
+```
+
+## 2.3 Enable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `rewrite` set Status enabled.
+![](/img/shenyu/plugin/rewrite/rewrite_open_en.png)
+
+## 2.4 Config plugin
+
+### 2.4.1 Plugin Config
+
+* Enable the plugin before using.
+* Disable the plugin if don't use. 
+
+### 2.4.2 Selector Config
+
+* Please refer to: [Selector And Rule Config](../../user-guide/admin-usage/selector-and-rule).
+
+### 2.4.3 Rule Config
+
+![](/img/shenyu/plugin/rewrite/rewrite_rule_config.png)
+
+* Param details:
+  * `regex`: The regular expression that matches the part of uri to be rewrited.
+  * `replace`: The content of replacement.
+  * `percentage` : The percentage of rewriting, 100 represents 100%.
+  * `rewriteMetaData`: Whether to rewrite metadata, true indicates that it is enabled, and once enabled, the uri can be rewritten across plugins.
+
+## 2.5 Examples
+
+### 2.5.1 Example for rewriting uri
+
+#### 2.5.1.1 Run the shenyu-examples-http project
+
+* Use [shenyu-examples-http](https://github.com/apache/shenyu/tree/master/shenyu-examples/shenyu-examples-http), please refer to [Run the shenyu-examples-http project](../../quick-start/quick-start-http#run-the-shenyu-examples-http-project)
+
+#### 2.5.1.1 Plugin Config
+
+* Refer to [2.4.1](#241-plugin-config) to configure plugin.
+
+#### 2.5.1.2 Selector Config
+
+* Refer to [2.4.2](#242-selector-config) to configure selector
+
+#### 2.5.1.3 Rule Config
+
+![](/img/shenyu/plugin/rewrite/rewrite_example_rule.png)
+
+The request `/http/hello` would be rewritten to `/hi`
+
+#### 2.5.1.4 Check Result
+
+Use some tool (such as Postman) to make a request:
+
+![](/img/shenyu/plugin/rewrite/rewrite_example_result.png)
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `rewrite` set Status disable.
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/mock/_category_.json b/versioned_docs/version-2.7.0.1/plugin-center/mock/_category_.json
new file mode 100644
index 0000000000..e4f13a148a
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/mock/_category_.json
@@ -0,0 +1,4 @@
+{
+  "label": "Mock",
+  "position": 8
+}
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/mock/mock-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/mock/mock-plugin.md
new file mode 100644
index 0000000000..9c1c55ef7c
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/mock/mock-plugin.md
@@ -0,0 +1,178 @@
+---
+title: Mock Plugin
+keywords: ["mock"]
+description: mock plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* Mock Plugin
+
+## 1.2 Appropriate Scenario
+
+* Specify the status code and response body for the request to facilitate testing.
+
+## 1.3 Plugin functionality
+
+* Set the status code and body of the request.
+* Support configuration `${}` placeholder to automatically generate data.
+
+* **Note:** In order to support a more flexible data generation method, the mock plug-in supports users to use SpEL expressions to generate mock data. Using SpEL expressions may lead to the risk of executing malicious scripts or applying destructive programs. We recommend that you be extra careful when using them, use them in a safe environment as much as possible, such as an intranet environment, and follow security best practices.
+
+## 1.4 Plugin Code
+
+* Core module ```shenyu-plugin-mock```
+* Core class ```org.apache.shenyu.plugin.mock.MockPlugin```
+
+## 1.5 Added since which shenyu version
+
+* 2.5.0
+
+# 2. How to use plugin
+
+## 2.1 Import pom
+
+- import maven config in shenyu-bootstrap project's `pom.xml` file.
+
+```xml
+<dependency>
+    <groupId>org.apache.shenyu</groupId>
+    <artifactId>shenyu-spring-boot-starter-plugin-mock</artifactId>
+    <version>${project.version}</version>
+</dependency>
+```
+
+## 2.2 Enable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `mock` set Status enable.
+
+![](/img/shenyu/plugin/mock/enable-mock-plugin-en.png)
+
+## 2.3 Config plugin
+
+- Selector and rule config, please refer: [Selector and rule config](../../user-guide/admin-usage/selector-and-rule).
+- shenyu-admin mock plugin configuration, supports configuring httpStatusCode and responseContent
+    - httpStatusCode:the status code of the request.
+    - responseContent:the response body of the request,support configuring `${}` placeholders to generate random data.
+
+![](/img/shenyu/plugin/mock/mock-rule-configuration-en.png)
+
+## 2.4 `${}` supported syntax
+
+**~~`${int|min-max}`~~**
+- **Description:** Generate random integers from `min` to `max`, inclusive of `min` and `max`.
+- **Example:** `${int|10-20}`
+
+**~~`${double|min-max|format}`~~**
+- **Description:** Generate random floating point numbers from `min` to `max`, formatted according to `format`.
+- **Example:** `${double|10-20}` , `${double|10-20.5|%.2f}`
+
+**~~`${email}`~~**
+- **Description:** Generate random email addresses.
+
+**~~`${phone}`~~**
+- **Description:** Generate random 13-digit mobile number.
+
+**~~`${zh|min-max}`~~**
+- **Description:** Generate random Chinese strings of length `min` to `max`.
+- **Example:** `${zh|10-20}`
+
+**~~`${en|min-max}`~~**
+- **Description:** Generate random English strings of length `min` to `max`.
+- **Example:** `${en|10-20}`
+
+**~~`${bool}`~~**
+- **Description:** Generate a random `boolean` value i.e. `true` or `false`.
+
+**~~`${list|[arg1,arg2...]}`~~**
+- **Description:** Randomly returns any value in a list as a string.
+- **Example:** `${list|[gril,boy]}` will return `boy` or `girl`
+
+**~~`${current|format}`~~**
+- **Description:** Returns the current time and uses `format` to format, `format` can be default, the default is `YYYY-MM-dd HH:mm:ss`.
+- **Example:** `${current}`,`${current|YYYY-MM-dd}`
+
+**~~`${array|item|length}`~~**
+- **Description:** According to the `item` format definition, an array of length `length` can be generated. All the above data generation rules can be nested in `item`, and the result will be automatically added with `[]`.
+- **Example:** `${array|{"name":"test"}|3}` result is `[{"name":"test"},{"name":"test"},{"name":"test"}]`,`${array|{"age":${int|18-65}}|3}`.
+
+**${expression|expression}**
+
+`Spel` expressions are currently supported with built-in functions and arguments, which fully replace the old ${} syntax
+
+- **`${expression|#int(min,max)}`**
+
+  - **Description:** Generate random integers from `min` to `max`, inclusive of `min` and `max`.
+
+  - **Example:** `${expression|#int(1,2)}`
+
+- **`${expression|#double(min,max)}`**
+
+  - **Description:** Generate random floating point numbers from `min` to `max`, formatted according to `format`.
+  - **Example:**`${expression|#double(10.5,12.0)}`,`${expression|#double(10.5,12.0,'¥%.2f')}`
+
+- **`${expression|#email()}`**
+
+  - **Description:** Generate random email addresses.
+
+- **`${expression|#phone()}`**
+
+  - **Description:** Generate random 13-digit mobile number.
+
+- **`${expression|zh(min,max)}`**
+
+  - **Description:** Generate random Chinese strings of length `min` to `max`.
+  - **Example:** `${expression|#zh(1,10)}`
+
+- **`${expression|#bool()}`**
+
+  - **Description:** Generate a random `boolean` value i.e. `true` or `false`.
+
+- **`${expression|#oneOf(arg1,arg2...)}`**
+
+  - **Description:** Randomly returns any value in a list.
+  - **Example:** `${expression|#oneOf('shenyu','number',1)}`  will return `'shenyu'` or `'number'`or`1`
+
+- **`${expression|current()}`**
+
+  + **Description:** Returns the current time and uses `format` to format, `format` can be default, the default is `YYYY-MM-dd HH:mm:ss`.
+  + **Example:**  `${expression|#current()}`,`${expression|#current('YYYY-MM-dd')}`
+
+- **`${expression|#array(item,length)}`**
+
+  - **Description:** According to the `item` format definition, an array of length `length` can be generated. 
+
+  - **Example:** `expression|#array('shenyu',3)` would generate `["shenyu","shenyu","shenyu"]`.
+
+    You can use it nested like`${expression|#array(#bool(),2)}`or`${expression|#array(#array('shenyu',2),2)}`
+
+- **`${expression|#req}`**
+
+  - **Description:** Req is built-in request parameters ,which can generate response data based on request content
+  - **Example:**`${expression|#req.method}`、`${expression|#req.queries['query_name']}`、`${req.queries.query_name}`、`${expression|#req.uri}`。`jsonPath` is used when the request body is json . For example ,when the request body is `{"name":"shenyu"}`,`${expression|#req.json.name}`would return "shenyu"
++ **`${expression|spel}`**
+
+  + **Description**:Use Spel expressions directly to generate data
+  + **Example**:`${expression|T(java.time.LocalDate).now()}`、`${expression|1==1}`
+
+It is recommended to use the new '${}' syntax. The old syntax may be removed at an later date.
+
+Function replaceable table:
+
+| old                        | new                                 |
+| :------------------------- | :---------------------------------- |
+| ${int\|min-max}            | ${expression\|#int(min,max)}        |
+| ${double\|min-max\|format} | ${expression\|#double(min,max)}     |
+| ${email}                   | ${expression\|#email()}             |
+| ${phone}                   | ${expression\|#phone()}             |
+| ${zh\|min-max}             | ${expression\|#zh(min,max)}         |
+| ${en\|min-max}             | ${expression\|#en(min,max)}         |
+| ${list\|[arg1,arg2...]}    | ${expression\|#oneOf(arg1,agr2...)} |
+| ${current\|format}         | ${expression\|#current(format)}     |
+| ${bool}                    | ${expression\|#bool()}              |
+| ${array\|item\|length}     | ${expression#array(item,length)}    |
+
+**You do not need to use add `""` on both sides of `${}`, the generated content will be prefixed and suffixed according to the definition of generator**
+
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/observability/_category_.json b/versioned_docs/version-2.7.0.1/plugin-center/observability/_category_.json
new file mode 100644
index 0000000000..5a1e175c45
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/observability/_category_.json
@@ -0,0 +1,4 @@
+{
+  "label": "Observability",
+  "position": 5
+}
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-aliyun-sls.md b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-aliyun-sls.md
new file mode 100644
index 0000000000..a4f8de782e
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-aliyun-sls.md
@@ -0,0 +1,139 @@
+---
+title: Logging-Aliyun-Sls Plugin
+keywords: ["logging"]
+description: logging plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* Logging-AliyunSls Plugin
+
+## 1.2 Appropriate Scenario
+
+* collect http request information to aliyun sls, analysis request information by aliyun sls platform.
+
+## 1.3 Plugin functionality
+
+* The gateway receives requests from the client, forwards them to the server, and returns the server results to the client. The gateway can record the details of each request,
+* the plugin records access logs and sends to aliyun sls platform.
+
+## 1.4 Plugin code
+
+* Core Module `shenyu-plugin-logging-aliyun-sls`
+
+* Core Class `org.apache.shenyu.plugin.aliyun.sls.LoggingAliYunSlsPlugin`
+* Core Class `org.apache.shenyu.plugin.aliyun.sls.client.AliyunSlsLogCollectClient`
+
+## 1.5 Added Since Which shenyu version
+
+ShenYu 2.5.0
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/plugin_use_en.jpg)
+
+## 2.2 Import pom
+
+- import maven config in shenyu-bootstrap project's `pom.xml` file.
+
+```xml
+<!-- shenyu logging-aliyunsls plugin start -->
+<dependency>
+  <groupId>org.apache.shenyu</groupId>
+  <artifactId>shenyu-spring-boot-starter-plugin-logging-aliyun-sls</artifactId>
+  <version>${project.version}</version>
+</dependency>
+<!-- shenyu logging-aliyunsls plugin end -->
+```
+
+## 2.3 Enable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `loggingAliyunSls` set Status enable.
+
+## 2.4 Config plugin
+
+### 2.4.1 Plugin configuration
+
+![](/img/shenyu/plugin/logging/logging-aliyun-sls/plugin-config-en.jpg)
+
+| config-item     | type    | description                                                  | remarks                  |
+| :-------------- | :------ | :----------------------------------------------------------- | :-----------------       |
+| accessId        | String  | accessId                                                     | must                     |
+| accesskey       | String  | accesskey                                                    | must                     |
+| host            | String  | host name, example:cn-guangzhou.log.aliyuncs.com             | must                     |
+| projectName     | String  | log project name                                             | optional, default shenyu |
+| logStoreName    | String  | log store name                                               | optional, default shenyu-logstore |
+| topic           | String  | aliyun sls log topic                                         | optional, default shenyu-topic    |
+| ttlInDay        | Integer | ttl times in one day                                         | optional, default 3 |
+| shardCount      | Integer | aliyun sls log shard count                                   | optional, default 10 |
+| sendThreadCount | Integer | send log to aliyun sls thread number                         | optional, default 1 |
+| ioThreadCount   | Integer | io thread count                                              | optional, default 1 |
+| sampleRate      | String  | sample consume rate                                          | optional, default 1 |
+| maxRequestBody  | Integer | max request body                                             | optional, default 524288 |
+| maxResponseBody | Integer | max response body                                            | optional, default 524288 |
+| bufferQueueSize | Integer | consume log queue size                                       | optional, default 50000  |
+
+
+### 2.4.2 Configuration Selectors and Rules
+
+* Selector and rule Config. Please refer: [Selector and rule config](../../user-guide/admin-usage/selector-and-rule.md).
+
+## 2.5 Logging Info
+
+collect request info as follows
+
+| Field Name                  |                                                                               Meaning                                                                               | Description                            | Remarks   |
+|:----------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------|:----|
+| clientIp              |                                                                              Client IP                                                                              |                               |     |
+| timeLocal             |                                                        Request time string, format: yyyy-MM-dd HH:mm:ss.SSS                                                         |                               |     |
+| method                | request method (different rpc type is not the same, http class for: get, post wait, rpc class for the interface name) |                               |     |
+| requestHeader         |                                                                    Request header (json format)                                                                     |                               |     |
+| responseHeader        |                                                                    Response header (json format)                                                                    |                               |     |
+| queryParams           |                                                                      Request query parameters                                                                       |                               |     |
+| requestBody           |                                                       Request Body (body of binary type will not be captured)                                                       |                               |     |
+| requestUri            |                                                                             Request uri                                                                             |                               |     |
+| responseBody          |                                                                            Response body                                                                            |                               |     |
+| responseContentLength |                                                                         Response body size                                                                          |                               |     |
+| rpcType               |                                                                              rpc type                                                                               |                               |     |
+| status                |                                                                           response status                                                                           |                               |     |
+| upstreamIp            |                                                                            Upstream (program providing the service) IP                                                                              |                               |     |
+| upstreamResponseTime  |                                                                      Time taken by the upstream (program providing the service) to respond to the request (ms ms)                                                                         |                               |     |
+| userAgent             |                                                                                Requested user agent                                                                                |                               |     |
+| host                  |                                                                               The requested host                                                                               |                               |     |
+| module                |                                                                                Requested modules                                                                                |                               |     |
+| path                  |                                                                             The requested path                                                                              |                               |     |
+| traceId                |                                                                              Requested Link Tracking ID                                                                              | Need to access link tracking plugins, such as skywalking,zipkin |     |
+
+## 2.6 Examples
+
+### 2.6.1 Collect Http Log by aliyun sls platform
+
+#### 2.6.1.1 Plugin Configuration
+
+* Open the plugin and configure aliyun-sls, configure it as follows.
+
+![](/img/shenyu/plugin/logging/logging-aliyun-sls/plugin-config-en.jpg)
+
+#### 2.6.1.2 Selector Configuration
+
+![](/img/shenyu/plugin/logging/logging-aliyun-sls/aliyun-sls-log-selector-en.png)
+
+#### 2.6.1.3 Rule Configuration
+
+![](/img/shenyu/plugin/logging/logging-aliyun-sls/aliyun-sls-log-rule-en.png)
+
+#### 2.6.1.4 Send Request
+
+![](/img/shenyu/plugin/logging/logging-aliyun-sls/call-service.png)
+
+#### 2.6.1.5 Aliyun sls Platform Display
+
+![](/img/shenyu/plugin/logging/logging-aliyun-sls/aliyun-sls-log.jpg)
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `loggingAliyunSls` set Status disable.
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-elasticsearch.md b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-elasticsearch.md
new file mode 100644
index 0000000000..8354a5b700
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-elasticsearch.md
@@ -0,0 +1,183 @@
+---
+title: Logging-ElasticSearch Plugin
+keywords: ["Logging", "ElasticSearch"]
+description: Logging-ElasticSearch Plugin
+---
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* Logging-ElasticSearch Plugin
+
+## 1.2 Appropriate Scenario
+
+* collect http request info to elasticsearch, query or display request info by another application(kibana).
+
+## 1.3 Plugin functionality
+
+>`Apache ShenYu` The gateway receives requests from the client, forwards them to the server, and returns the server results to the client. The gateway can record the details of each request,    
+>The list includes: request time, request parameters, request path, response result, response status code, time consumption, upstream IP, exception information waiting.
+>Shenyu gateway can record access logs through logging-elasticsearch-plugin and send access logs to elasticsearch database.
+
+## 1.4 Plugin code
+
+* Core Module `shenyu-plugin-logging-elasticsearch`
+
+* Core Class `org.apache.shenyu.plugin.logging.elasticsearch.LoggingElasticSearchPlugin`
+* Core Class `org.apache.shenyu.plugin.logging.elasticsearch.client.ElasticSearchLogCollectClient`
+
+## 1.5 Added Since Which shenyu version
+
+* Since 2.5.0
+
+## 1.6 Technical Solutions
+
+* Architecture Diagram
+
+![](/img/shenyu/plugin/logging/logging-elasticsearch/logging-elasticsearch-arch.png)
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/plugin_use_en.jpg)
+
+## 2.2 Import pom
+
+* Add the dependency of logging-elasticsearch to the Shenyu-bootstrap-module 's `pom.xml` file.
+
+```xml
+ <!--shenyu logging-elasticsearch plugin start-->
+<dependency>
+    <groupId>org.apache.shenyu</groupId>
+    <artifactId>shenyu-spring-boot-starter-plugin-logging-elasticsearch</artifactId>
+    <version>${project.version}</version>
+</dependency>
+<!--shenyu logging-elasticsearch plugin end-->
+```
+
+## 2.3 Enable plugin
+
+* In `shenyu-admin` --> Basic Configuration --> Plugin Management --> `loggingElasticSearch`, configure the ElasticSearch parameter and set it to on.
+
+## 2.4 Config plugin
+
+### 2.4.1 Open the plugin and configure elasticsearch, configure it as follows.
+
+![](/img/shenyu/plugin/logging/logging-elasticsearch/logging-elasticsearch-config-en.png)
+
+- The individual configuration items are described as follows:
+
+| config-item     | type    | description                                                  | remarks                             |
+|:----------------| :------ | :----------------------------------------------------------- | :---------------------------------- |
+| host            | String  | host name                                                    | must                                |
+| port            | String  | port num                                                     | must                                |
+| sampleRate      | String  | Sampling rate, range 0~1, 0: off, 0.01: acquisition 1%, 1: acquisition 100% | Optional, default 1, all collection |
+| compressAlg     | String  | Compression algorithm, no compression by default, currently supports LZ4 compression | Optional, no compression by default |
+| maxResponseBody | Ingeter | Maximum response size, above the threshold no response will be collected | Optional, default 512KB             |
+| maxRequestBody  | Ingeter | Maximum request body size, above the threshold no request body will be collected | Optional, default 512KB             |
+Except for host, port, all others are optional, in most cases only these 3 items need to be configured.
+
+### 2.4.2 Configuring Selectors and Rulers
+
+For detailed configuration of selectors and rules, please refer to: [Selector and rule management](../../user-guide/admin-usage/selector-and-rule)。
+In addition sometimes a large gateway cluster corresponds to multiple applications (business), different applications (business) corresponds to different topics, related to isolation,  
+then you can configure different topics (optional) and sampling rate (optional) by selector, the meaning of the configuration items as shown in the table above.   
+The operation is shown below:
+
+![](/img/shenyu/plugin/logging/logging-elasticsearch/logging-elasticsearch-option.png)
+
+## 2.5 Logging information
+
+The fields of the captured access log are as follows.
+
+| Field Name            |                           Meaning                            | Description                                                  | Remarks |
+| :-------------------- | :----------------------------------------------------------: | :----------------------------------------------------------- | :------ |
+| clientIp              |                          Client IP                           |                                                              |         |
+| timeLocal             |     Request time string, format: yyyy-MM-dd HH:mm:ss.SSS     |                                                              |         |
+| method                | request method (different rpc type is not the same, http class for: get, post wait, rpc class for the interface name) |                                                              |         |
+| requestHeader         |                 Request header (json format)                 |                                                              |         |
+| responseHeader        |                Response header (json format)                 |                                                              |         |
+| queryParams           |                   Request query parameters                   |                                                              |         |
+| requestBody           |   Request Body (body of binary type will not be captured)    |                                                              |         |
+| requestUri            |                         Request uri                          |                                                              |         |
+| responseBody          |                        Response body                         |                                                              |         |
+| responseContentLength |                      Response body size                      |                                                              |         |
+| rpcType               |                           rpc type                           |                                                              |         |
+| status                |                       response status                        |                                                              |         |
+| upstreamIp            |         Upstream (program providing the service) IP          |                                                              |         |
+| upstreamResponseTime  | Time taken by the upstream (program providing the service) to respond to the request (ms ms) |                                                              |         |
+| userAgent             |                     Requested user agent                     |                                                              |         |
+| host                  |                      The requested host                      |                                                              |         |
+| module                |                      Requested modules                       |                                                              |         |
+| path                  |                      The requested path                      |                                                              |         |
+| traceId               |                  Requested Link Tracking ID                  | Need to access link tracking plugins, such as skywalking,zipkin |         |
+
+
+## 2.6 Examples
+
+### 2.6.1 Collect Http Log by ElasticSearch
+
+#### 2.6.1.1 Install ElasticSearch
+
+Users need to deploy the `ElasticSearch` service to collect
+
+##### 2.6.1.1.1 Installing ElasticSearch under Windows Environment
+
+- To [download address](https://www.elastic.co/downloads/elasticsearch) Select Windows version to download
+- After downloading the installation package, unzip it, enter the `bin` directory, and double-click to execute `elasticsearch.bat` to start
+- The default startup port is `9200`. Access`http://localhost:9200`, verify success
+
+![](/img/shenyu/plugin/logging/logging-elasticsearch/elasticsearch-success.png)
+
+##### 2.6.1.1.2 Installing ElasticSearch in MacOS environment
+
+- To [download address](https://www.elastic.co/downloads/elasticsearch) Select Windows version to download
+- After downloading the installation package, unzip it, enter the `bin` directory and execute the startup command on the terminal:  `./elasticsearch`
+- The default startup port is `9200`. Access `http://localhost:9200`, verify success
+
+![](/img/shenyu/plugin/logging/logging-elasticsearch/elasticsearch-success.png)
+
+#### 2.6.1.2 Install Kibana
+
+##### 2.6.1.2.1 Installing Kibana under Windows Environment
+
+- To [download address](https://www.elastic.co/cn/downloads/kibana) Select Windows version to download
+- After downloading the installation package, unzip it, enter the `bin` directory, and double-click to execute `kibana.bat` to start
+- The default startup port is `5601`. Access `http://localhost:5601`, verify success
+
+![](/img/shenyu/plugin/logging/logging-elasticsearch/kibana-success.png)
+
+##### 2.6.1.2.2 Installing Kibana in MacOS environment
+
+- To [download address](https://www.elastic.co/cn/downloads/kibana) Select Windows version to download
+- After downloading the installation package, unzip it, enter the `bin` directory and execute the startup command on the terminal: `./kibana`
+- The default startup port is `5601`. Access `http://localhost:5601`, verify success
+
+![](/img/shenyu/plugin/logging/logging-elasticsearch/kibana-success.png)
+
+#### 2.6.1.3 Plugin Configuration
+
+![](/img/shenyu/plugin/logging/logging-elasticsearch/logging-elasticsearch-config-en.png)
+
+#### 2.6.1.4 Selector and Rule Configuration
+
+* For detailed configuration of selectors and rules, please refer to:[Selector and rule management](../../user-guide/admin-usage/selector-and-rule)。
+
+#### 2.6.1.5 Using postman to initiate a request
+
+![](/img/shenyu/plugin/logging/logging-elasticsearch/postman-request.png)
+
+#### 2.6.1.6 Querying data using kibana
+
+![](/img/shenyu/plugin/logging/logging-elasticsearch/index.png)
+
+- The first time you use the plug-in, you will automatically create a `shenyu-access-logging` index
+
+![](/img/shenyu/plugin/logging/logging-elasticsearch/data.png)
+
+- Using ES query statement, the requested log information can be queried
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `LoggingElasticSearch` set Status disable.
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-huawei-lts.md b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-huawei-lts.md
new file mode 100644
index 0000000000..48a59f6617
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-huawei-lts.md
@@ -0,0 +1,172 @@
+---
+title: Logging-Huawei-Lts Plugin
+keywords: ["Logging"]
+description: logging plugin
+
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* Logging-HuaweiLts Plugin
+
+## 1.2 Appropriate Scenario
+
+* collect http request information to huawei  lts, analysis request information by huawei lts platform.
+
+## 1.3 Plugin functionality
+
+- The gateway receives requests from the client, forwards them to the server, and returns the server results to the client. The gateway can record the details of each request,
+
+* the plugin records access logs and sends to huawei lts platform.
+
+## 1.4 Plugin code
+
+* Core Module `shenyu-plugin-logging-huawei-lts`
+
+* Core Class `org.apache.shenyu.plugin.huawei.lts.LoggingHuaweiLtsPlugin`
+* Core Class `org.apache.shenyu.plugin.huawei.lts.client.HuaweiLtsLogCollectClient`
+
+## 1.5 Added Since Which shenyu version
+
+ShenYu 2.6.0
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/plugin_use_en.jpg)
+
+- ## 2.2 Import pom
+
+  - import maven config in shenyu-bootstrap project's `pom.xml` file.
+
+```xml
+<!-- shenyu logging-huaweilts plugin start -->
+<dependency>
+    <groupId>org.apache.shenyu</groupId>
+    <artifactId>shenyu-spring-boot-starter-plugin-logging-huawei-lts</artifactId>
+    <version>${project.version}</version>
+</dependency>
+<!-- shenyu logging-huaweilts plugin end -->
+```
+
+## 2.3 Enable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `loggingHuaweiLts` set Status enable.
+
+## 2.4 Config plugin
+
+### 2.4.1 Plugin configuration
+
+### ![](/img/shenyu/plugin/logging/logging-huawei-lts/plugin-config-en.png)
+
+| config-item               | description                                                  | type    | remarks  |
+| ------------------------- | ------------------------------------------------------------ | ------- | -------- |
+| projectId                 | The project ID of the HUAWEI CLOUD account(project id)     | String  | must     |
+| accessKeyId               | AK of the HUAWEI CLOUD account                               | String  | must     |
+| accessKeySecret           | SK of HUAWEI CLOUD account                                   | String  | must     |
+| regionName                | Regions of Cloud Log Service                                 | String  | must     |
+| logGroupId                | The log group ID of the LTS                                  | String  | must     |
+| logStreamId               | The log stream ID of the LTS                                 | String  | must     |
+| totalSizeInBytes          | The upper limit of the log size that can be cached by a single producer instance | int     | optional |
+| maxBlockMs                | If the producer has insufficient free space, the caller's maximum block time on the send method, in milliseconds. The default is 60 seconds (60000 milliseconds), and 0 seconds is recommended. When the maxBlockMs value >= 0, it will block until the set time. If the blocking time is reached, the memory cannot be obtained, that is, an error will be reported and the log will be discarded. When the value of maxBlockMs=-1, it will be blocked until the sending is s [...]
+| ioThreadCount             | The thread pool size for executing log sending tasks         | int     | optional |
+| batchSizeThresholdInBytes | When the cached log size in a ProducerBatch is greater than or equal to batchSizeThresholdInBytes, the batch will be sent | int     | optional |
+| batchCountThreshold       | When the number of cached logs in a ProducerBatch is greater than or equal to batchCountThreshold, the batch will be sent | int     | optional |
+| lingerMs                  | The lingering time of a ProducerBatch from creation until it is sendable | int     | optional |
+| retries                   | If a ProducerBatch fails to send for the first time, the number of times it can be retried is recommended to be 3 times. If retries is less than or equal to 0, the ProducerBatch will directly enter the failure queue after the first sending failure | int     | optional |
+| baseRetryBackoffMs        | The backoff time for the first retry                         | long    | optional |
+| maxRetryBackoffMs         | Maximum backoff time for retries                             | long    | optional |
+| giveUpExtraLongSingleLog  | For logs exceeding 1M, the data larger than 1M will be discarded after splitting | boolean | optional |
+| enableLocalTest           | 是否开启跨云上报日志                                         | boolean | optional |
+
+- get `regionName`
+
+![](/img/shenyu/plugin/logging/logging-huawei-lts/huawei-lts-regionName.png)
+
+| **区域名称** | **RegionName** |
+| ------------ | -------------- |
+| 华北-北京二  | cn-north-2     |
+| 华北-北京四  | cn-north-4     |
+| 华北-北京一  | cn-north-1     |
+| 华东-上海二  | cn-east-2      |
+| 华东-上海一  | cn-east-3      |
+| 华南-广州    | cn-south-1     |
+| 华南-深圳    | cn-south-2     |
+| 西南-贵阳一  | cn-southwest-2 |
+
+- get  `projectId`
+
+![](/img/shenyu/plugin/logging/logging-huawei-lts/huawei-lts-projectId.png)
+
+- get  `accessKeyId` and `accessKeySecret`
+
+![](/img/shenyu/plugin/logging/logging-huawei-lts/huawei-lts-access.png)
+
+- get `logGroupId` and `logStreamId`
+
+![](/img/shenyu/plugin/logging/logging-huawei-lts/huawei-lts-logGroupId.png)
+
+![](/img/shenyu/plugin/logging/logging-huawei-lts/huawei-lts-logStreamId.png)
+
+### 2.4.2 Configuration Selectors and Rules
+
+* Selector and rule Config. Please refer: [Selector and rule config](../../user-guide/admin-usage/selector-and-rule.md).
+
+## 2.5 Logging Info
+
+collect request info as follows
+
+| Field Name            |                           Meaning                            | Description                                                  | Remarks |
+| :-------------------- | :----------------------------------------------------------: | :----------------------------------------------------------- | :------ |
+| clientIp              |                          Client IP                           |                                                              |         |
+| timeLocal             |     Request time string, format: yyyy-MM-dd HH:mm:ss.SSS     |                                                              |         |
+| method                | request method (different rpc type is not the same, http class for: get, post wait, rpc class for the interface name) |                                                              |         |
+| requestHeader         |                 Request header (json format)                 |                                                              |         |
+| responseHeader        |                Response header (json format)                 |                                                              |         |
+| queryParams           |                   Request query parameters                   |                                                              |         |
+| requestBody           |   Request Body (body of binary type will not be captured)    |                                                              |         |
+| requestUri            |                         Request uri                          |                                                              |         |
+| responseBody          |                        Response body                         |                                                              |         |
+| responseContentLength |                      Response body size                      |                                                              |         |
+| rpcType               |                           rpc type                           |                                                              |         |
+| status                |                       response status                        |                                                              |         |
+| upstreamIp            |         Upstream (program providing the service) IP          |                                                              |         |
+| upstreamResponseTime  | Time taken by the upstream (program providing the service) to respond to the request (ms ms) |                                                              |         |
+| userAgent             |                     Requested user agent                     |                                                              |         |
+| host                  |                      The requested host                      |                                                              |         |
+| module                |                      Requested modules                       |                                                              |         |
+| path                  |                      The requested path                      |                                                              |         |
+| traceId               |                  Requested Link Tracking ID                  | Need to access link tracking plugins, such as skywalking,zipkin |         |
+
+## 2.6 Examples
+
+### 2.6.1 Collect Http Log by tencent cls platform
+
+#### 2.6.1.1 Plugin Configuration
+
+* Open the plugin and configure huawei lts, configure it as follows.
+
+![](/img/shenyu/plugin/logging/logging-huawei-lts/plugin-config-en.png)
+
+#### 2.6.1.2 Selector Configuration
+
+![](/img/shenyu/plugin/logging/logging-huawei-lts/huawei-lts-log-selector-en.png)
+
+#### 2.6.1.3 Rule Configuration
+
+![](/img/shenyu/plugin/logging/logging-huawei-lts/huawei-lts-log-rule-en.png)
+
+#### 2.6.1.4 Send Request
+
+![](/img/shenyu/plugin/logging/logging-huawei-lts/call-service.png)
+
+#### 2.6.1.5 Huawei lts Platform Display
+
+![](/img/shenyu/plugin/logging/logging-huawei-lts/huawei-lts-log.png)
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin -->`loggingHuaweiLts`set Status disable.
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-kafka.md b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-kafka.md
new file mode 100644
index 0000000000..feb312c7e6
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-kafka.md
@@ -0,0 +1,162 @@
+---
+title: Logging-Kafka Plugin
+keywords: ["Logging", "kafka"]
+description: Logging-Kafka Plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* Logging-Kafka Plugin
+
+## 1.2 Appropriate Scenario
+
+* collect http request log to Kafka, consume Kafka message to another application and analysis.
+
+## 1.3 Plugin functionality
+
+>`Apache ShenYu` The gateway receives requests from the client, forwards them to the server, and returns the server results to the client. The gateway can record the details of each request,    
+> The list includes: request time, request parameters, request path, response result, response status code, time consumption, upstream IP, exception information waiting.    
+> The Logging-Kafka plugin is a plugin that records access logs and sends them to the Kafka cluster.
+
+## 1.4 Plugin code
+
+* Core Module `shenyu-plugin-logging-kafka`.
+
+* Core Class `org.apache.shenyu.plugin.logging.kafka.LoggingKafkaPlugin`
+* Core Claas `org.apache.shenyu.plugin.logging.kafka.client.KafkaLogCollectClient`
+
+## 1.5 Added Since Which shenyu version
+
+* Since ShenYu 2.5.0
+
+## 1.6 Technical Solutions
+
+* Architecture Diagram
+
+![](/img/shenyu/plugin/logging/logging-kafka/logging-kafka-arch.jpg)
+
+* Full asynchronous collection and delivery of `Logging` inside the `Apache ShenYu` gateway
+
+* Logging platform by consuming the logs in the `Kafka` cluster for repository, and then using `Grafana`, `Kibana` or other visualization platform to display
+
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/logging/logging-console/loggingConsole-use-en.png)
+
+## 2.2 Import pom
+
+* Add the `Logging-Kafka` dependency to the gateway's `pom.xml` file.
+
+```xml
+<!--shenyu logging-kafka plugin start-->
+<dependency>
+    <groupId>org.apache.shenyu</groupId>
+    <artifactId>shenyu-spring-boot-starter-plugin-logging-kafka</artifactId>
+    <version>${project.version}</version>
+</dependency>
+<!--shenyu logging-kafka plugin end-->
+```
+
+## 2.3 Enable plugin
+
+* In `shenyu-admin` --> Basic Configuration --> Plugin Management --> `loggingKafka`, configure the kafka parameter and set it to on.
+
+## 2.4 Config plugin
+
+### 2.4.1 Open the plugin and configure kafka, configure it as follows.
+
+![](/img/shenyu/plugin/logging/logging-config-en.png)
+
+* The individual configuration items are described as follows:
+
+|                                   |                      |                                   |             |
+|:----------------------------------|:---------------------|:----------------------------------|:------------|
+| config-item                       | type                 | description                       | remarks     |
+| topic                             | String               | Message Queue Topics                            | must        |
+| namesrvAddr                       | String               | Message queue nameserver address                        | must          |
+| sampleRate                        | String               | Sampling rate, range 0~1, 0: off, 0.01: acquisition 1%, 1: acquisition 100% | Optional, default 1, all collection |
+| compressAlg                       | String               | Compression algorithm, no compression by default, currently supports LZ4 compression               | Optional, no compression by default    |
+| maxResponseBody                   | Ingeter              | Maximum response size, above the threshold no response will be collected                | Optional, default 512KB |
+| maxRequestBody                    | Ingeter              | Maximum request body size, above the threshold no request body will be collected               | Optional, default 512KB  |
+Except for topic, namesrvAddr, all others are optional, in most cases only these 3 items need to be configured. The default group id is "shenyu-access-logging"
+
+### 2.4.2 Configuring Selectors and Rulers
+
+* For detailed configuration of selectors and rules, please refer to: [Selector and rule management](../../user-guide/admin-usage/selector-and-rule)。
+
+In addition, sometimes a large gateway cluster corresponds to multiple applications (business), different applications (business) corresponds to different topics, related to isolation,  
+then you can configure different topics (optional) and sampling rate (optional) by selector, the meaning of the configuration items as shown in the table above.   
+The operation is shown below:
+![](/img/shenyu/plugin/logging/logging-config.png)
+
+## 2.5 Logging Info
+
+collect request info as follows
+
+| Field Name                  |                                                                               Meaning                                                                               | Description                            | Remarks   |
+|:----------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------|:----|
+| clientIp              |                                                                              Client IP                                                                              |                               |     |
+| timeLocal             |                                                        Request time string, format: yyyy-MM-dd HH:mm:ss.SSS                                                         |                               |     |
+| method                | request method (different rpc type is not the same, http class for: get, post wait, rpc class for the interface name) |                               |     |
+| requestHeader         |                                                                    Request header (json format)                                                                     |                               |     |
+| responseHeader        |                                                                    Response header (json format)                                                                    |                               |     |
+| queryParams           |                                                                      Request query parameters                                                                       |                               |     |
+| requestBody           |                                                       Request Body (body of binary type will not be captured)                                                       |                               |     |
+| requestUri            |                                                                             Request uri                                                                             |                               |     |
+| responseBody          |                                                                            Response body                                                                            |                               |     |
+| responseContentLength |                                                                         Response body size                                                                          |                               |     |
+| rpcType               |                                                                              rpc type                                                                               |                               |     |
+| status                |                                                                           response status                                                                           |                               |     |
+| upstreamIp            |                                                                            Upstream (program providing the service) IP                                                                              |                               |     |
+| upstreamResponseTime  |                                                                      Time taken by the upstream (program providing the service) to respond to the request (ms ms)                                                                         |                               |     |
+| userAgent             |                                                                                Requested user agent                                                                                |                               |     |
+| host                  |                                                                               The requested host                                                                               |                               |     |
+| module                |                                                                                Requested modules                                                                                |                               |     |
+| path                  |                                                                             The requested path                                                                              |                               |     |
+| traceId                |                                                                              Requested Link Tracking ID                                                                              | Need to access link tracking plugins, such as skywalking,zipkin |     |
+
+
+## 2.6 Examples
+
+### 2.6.1 Collect Http Log by Kafka
+
+#### 2.6.1.1 Plugin Configuration
+
+Open the plugin and configure kafka, configure it as follows.
+
+![](/img/shenyu/plugin/logging/logging-kafka/logging-config-cn.png)
+
+#### 2.6.1.2 Selector Configuration
+
+For detailed configuration of selectors and rules, please refer to: [Selector and rule management](../../user-guide/admin-usage/selector-and-rule)。
+
+In addition, sometimes a large gateway cluster corresponds to multiple applications (business), different applications (business) corresponds to different topics, related to isolation,  
+then you can configure different topics (optional) and sampling rate (optional) by selector, the meaning of the configuration items as shown in the table above.   
+The operation is shown below:
+![](/img/shenyu/plugin/logging/logging-kafka/logging-option-topic.png)
+
+#### 2.6.1.3 Rule Configuration
+
+![](/img/shenyu/plugin/logging/logging-kafka/log-rule-en.png)
+
+#### 2.6.1.4 Request Service
+
+![](/img/shenyu/plugin/logging/logging-rocketmq/call-service.png)
+
+#### 2.6.1.5 Consumption and display of Logging
+
+As each logging platform has differences, such as storage available clickhouse, ElasticSearch, etc., visualization has self-developed or open source Grafana, Kibana, etc..  
+Logging-Kafka plugin uses Kafka to decouple production and consumption, while outputting logs in json format,
+consumption and visualization require users to choose different technology stacks to achieve their own situation.=
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `loggingKafka` set Status disable.
+
+
+
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-plugin.md
new file mode 100644
index 0000000000..3bf717aecf
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-plugin.md
@@ -0,0 +1,117 @@
+---
+title: Logging Plugin
+keywords: ["logging"]
+description: logging plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* Logging-Console Plugin
+
+## 1.2 Appropriate Scenario
+
+* Users may want to view the information about request(including request headers, request parameters, response headers, response body...etc) where in the side of gateway when debugging during development or troubleshooting problems online.
+
+## 1.3 Plugin functionality
+
+* Collect http request url, header, request body, response and response body by logback or log4j, the log file will be saved locally. 
+
+## 1.4 Plugin code
+
+* Core Module `shenyu-pluign-logging-console`.
+
+* Core Class `org.apache.shenyu.plugin.logging.console.LoggingConsolePlugin`
+
+## 1.5 Added Since Which shenyu version
+
+* Since ShenYu 2.4.0
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/logging/logging-console/loggingConsole-use-en.png)
+
+## 2.2 Import pom
+
+- import maven config in shenyu-bootstrap project's `pom.xml` file.
+
+```xml
+<dependency>
+    <groupId>org.apache.shenyu</groupId>
+    <artifactId>shenyu-spring-boot-starter-plugin-logging-console</artifactId>
+    <version>${project.version}</version>
+</dependency>
+```
+
+## 2.3 Enable plugin
+
+- In shenyu-admin --> BasicConfig --> Plugin --> loggingConsole set Status enable.
+
+## 2.4 Config plugin
+
+* Selector and rule Config. Please refer: [Selector and rule config](../../user-guide/admin-usage/selector-and-rule.md).
+
+## 2.5 Examples
+
+## 2.5.1 Collect all http request log
+
+> you must open loggingConsole plugin before you use loggingConsole plugin.
+
+### 2.5.1.1 Selector Configuration
+
+![](/img/shenyu/plugin/logging/logging-console/log-selector-en.jpg)
+
+### 2.5.1.2 Rule Configuration
+
+![](/img/shenyu/plugin/logging/logging-console/log-rule-en.jpg)
+
+### 2.5.1.3 Call Http Service
+
+![](/img/shenyu/plugin/logging/logging-console/call-service.png)
+
+### 2.5.1.4 Check Result
+
+if the request arrived successfully, you will see request information as follow.
+
+```
+Request Uri: http://localhost:9195/test/payment
+Request Method: POST
+
+[Request Headers Start]
+Content-Type: application/json
+Content-Length: 46
+Host: localhost:9195
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.13 (Java/11.0.11)
+Cookie: JSESSIONID=CD325CE813F61BB37783A1D0835959DD
+Accept-Encoding: gzip,deflate
+[Request Headers End]
+
+[Request Body Start]
+{
+  "userId": "11",
+  "userName": "xiaoming"
+}
+[Request Body End]
+
+Response Code: 200 OK
+
+[Response Headers Start]
+transfer-encoding: chunked
+Content-Length: 37
+Content-Type: application/json
+[Response Headers End]
+
+[Response Body Start]
+{"userId":"11","userName":"xiaoming"}
+[Response Body End]
+```
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `loggingConsole` set Status disable.
+
+![](/img/shenyu/plugin/logging/logging-console/unenable-log-plugin-en.jpg)
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-pulsar.md b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-pulsar.md
new file mode 100644
index 0000000000..4f69a946a5
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-pulsar.md
@@ -0,0 +1,162 @@
+---
+title: Logging-Pulsar Plugin
+keywords: ["Logging", "pulsar"]
+description: Logging-Pulsar Plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* Logging-Pulsar Plugin
+
+## 1.2 Appropriate Scenario
+
+* collect http request log to Pulsar, consume Pulsar message to another application and analysis.
+
+## 1.3 Plugin functionality
+
+>`Apache ShenYu` The gateway receives requests from the client, forwards them to the server, and returns the server results to the client. The gateway can record the details of each request,    
+> The list includes: request time, request parameters, request path, response result, response status code, time consumption, upstream IP, exception information waiting.    
+> The Logging-Pulsar plugin is a plugin that records access logs and sends them to the Pulsar cluster.
+
+## 1.4 Plugin code
+
+* Core Module `shenyu-plugin-logging-pulsar`.
+
+* Core Class `org.apache.shenyu.plugin.logging.pulsar.LoggingPulsarPlugin`
+* Core Claas `org.apache.shenyu.plugin.logging.pulsar.client.PulsarLogCollectClient`
+
+## 1.5 Added Since Which shenyu version
+
+* Since ShenYu 2.5.1
+
+## 1.6 Technical Solutions
+
+* Architecture Diagram
+
+![](/img/shenyu/plugin/logging/logging-pulsar/logging-pulsar-arch.jpg)
+
+* Full asynchronous collection and delivery of `Logging` inside the `Apache ShenYu` gateway
+
+* Logging platform by consuming the logs in the `Pulsar` cluster for repository, and then using `Grafana`, `Kibana` or other visualization platform to display
+
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/logging/logging-console/loggingConsole-use-en.png)
+
+## 2.2 Import pom
+
+* Add the `Logging-Pulsar` dependency to the gateway's `pom.xml` file.
+
+```xml
+ <!--shenyu logging-pulsar plugin start-->
+<dependency>
+    <groupId>org.apache.shenyu</groupId>
+    <artifactId>shenyu-spring-boot-starter-plugin-logging-pulsar</artifactId>
+    <version>${project.version}</version>
+</dependency>
+<!--shenyu logging-pulsar plugin end-->
+```
+
+## 2.3 Enable plugin
+
+* In `shenyu-admin` --> Basic Configuration --> Plugin Management --> `loggingPulsar`, configure the pulsar parameter and set it to on.
+
+## 2.4 Config plugin
+
+### 2.4.1 Open the plugin and configure pulsar, configure it as follows.
+
+![](/img/shenyu/plugin/logging/logging-pulsar/logging-pulsar-config.jpg)
+
+* The individual configuration items are described as follows:
+
+|                                   |                      |                                   |             |
+|:----------------------------------|:---------------------|:----------------------------------|:------------|
+| config-item                       | type                 | description                       | remarks     |
+| topic                             | String               | Message Queue Topics                            | must        |
+| serviceUrl                       | String                | Message queue service address                        | must          |
+| sampleRate                        | String               | Sampling rate, range 0~1, 0: off, 0.01: acquisition 1%, 1: acquisition 100% | Optional, default 1, all collection |
+| compressAlg                       | String               | Compression algorithm, no compression by default, currently supports LZ4 compression               | Optional, no compression by default    |
+| maxResponseBody                   | Ingeter              | Maximum response size, above the threshold no response will be collected                | Optional, default 512KB |
+| maxRequestBody                    | Ingeter              | Maximum request body size, above the threshold no request body will be collected               | Optional, default 512KB  |
+Except for topic, serviceUrl, all others are optional, in most cases only these 3 items need to be configured. The default group id is "shenyu-access-logging"
+
+### 2.4.2 Configuring Selectors and Rulers
+
+* For detailed configuration of selectors and rules, please refer to: [Selector and rule management](../../user-guide/admin-usage/selector-and-rule)。
+
+In addition, sometimes a large gateway cluster corresponds to multiple applications (business), different applications (business) corresponds to different topics, related to isolation,  
+then you can configure different topics (optional) and sampling rate (optional) by selector, the meaning of the configuration items as shown in the table above.   
+The operation is shown below:
+![](/img/shenyu/plugin/logging/logging-config.png)
+
+## 2.5 Logging Info
+
+collect request info as follows
+
+| Field Name                  |                                                                               Meaning                                                                               | Description                            | Remarks   |
+|:----------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------|:----|
+| clientIp              |                                                                              Client IP                                                                              |                               |     |
+| timeLocal             |                                                        Request time string, format: yyyy-MM-dd HH:mm:ss.SSS                                                         |                               |     |
+| method                | request method (different rpc type is not the same, http class for: get, post wait, rpc class for the interface name) |                               |     |
+| requestHeader         |                                                                    Request header (json format)                                                                     |                               |     |
+| responseHeader        |                                                                    Response header (json format)                                                                    |                               |     |
+| queryParams           |                                                                      Request query parameters                                                                       |                               |     |
+| requestBody           |                                                       Request Body (body of binary type will not be captured)                                                       |                               |     |
+| requestUri            |                                                                             Request uri                                                                             |                               |     |
+| responseBody          |                                                                            Response body                                                                            |                               |     |
+| responseContentLength |                                                                         Response body size                                                                          |                               |     |
+| rpcType               |                                                                              rpc type                                                                               |                               |     |
+| status                |                                                                           response status                                                                           |                               |     |
+| upstreamIp            |                                                                            Upstream (program providing the service) IP                                                                              |                               |     |
+| upstreamResponseTime  |                                                                      Time taken by the upstream (program providing the service) to respond to the request (ms ms)                                                                         |                               |     |
+| userAgent             |                                                                                Requested user agent                                                                                |                               |     |
+| host                  |                                                                               The requested host                                                                               |                               |     |
+| module                |                                                                                Requested modules                                                                                |                               |     |
+| path                  |                                                                             The requested path                                                                              |                               |     |
+| traceId                |                                                                              Requested Link Tracking ID                                                                              | Need to access link tracking plugins, such as skywalking,zipkin |     |
+
+
+## 2.6 Examples
+
+### 2.6.1 Collect Http Log by Pulsar
+
+#### 2.6.1.1 Plugin Configuration
+
+Open the plugin and configure pulsar, configure it as follows.
+
+![](/img/shenyu/plugin/logging/logging-pulsar/logging-pulsar-config.jpg)
+
+#### 2.6.1.2 Selector Configuration
+
+For detailed configuration of selectors and rules, please refer to: [Selector and rule management](../../user-guide/admin-usage/selector-and-rule)。
+
+In addition, sometimes a large gateway cluster corresponds to multiple applications (business), different applications (business) corresponds to different topics, related to isolation,  
+then you can configure different topics (optional) and samplingf rate (optional) by selector, the meaning of the configuration items as shown in the table above.   
+The operation is shown below:
+![](/img/shenyu/plugin/logging/logging-pulsar/logging-option-topic.jpg)
+
+#### 2.6.1.3 Rule Configuration
+
+![](/img/shenyu/plugin/logging/logging-pulsar/log-rule.jpg)
+
+#### 2.6.1.4 Request Service
+
+![](/img/shenyu/plugin/logging/logging-rocketmq/call-service.png)
+
+#### 2.6.1.5 Consumption and display of Logging
+
+As each logging platform has differences, such as storage available clickhouse, ElasticSearch, etc., visualization has self-developed or open source Grafana, Kibana, etc..  
+Logging-Pulsar plugin uses Pulsar to decouple production and consumption, while outputting logs in json format,
+consumption and visualization require users to choose different technology stacks to achieve their own situation.=
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `loggingPulsar` set Status disable.
+
+
+
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-rabbitmq.md b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-rabbitmq.md
new file mode 100644
index 0000000000..3e22322ae7
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-rabbitmq.md
@@ -0,0 +1,181 @@
+---
+title: Logging-RabbitMQ Plugin
+keywords: ["Logging", "RabbitMQ"]
+description: Logging-RabbitMQ Plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* Logging-RabbitMQ Plugin
+
+## 1.2 Appropriate Scenario
+
+* collect http request log to rabbitmq, consume rabbitmq message to another application and analysis.
+
+## 1.3 Plugin functionality
+
+>`Apache ShenYu` The gateway receives requests from the client, forwards them to the server, and returns the server results to the client. The gateway can record the details of each request,    
+> The list includes: request time, request parameters, request path, response result, response status code, time consumption, upstream IP, exception information waiting.    
+> The Logging-RabbitMQ plugin is a plugin that records access logs and sends them to the RabbitMQ cluster.
+
+## 1.4 Plugin code
+
+* Core Module `shenyu-plugin-logging-rabbitmq`.
+
+* Core Class `org.apache.shenyu.plugin.logging.rabbitmq.LoggingRabbitmqPlugin`
+* Core Claas `org.apache.shenyu.plugin.logging.rabbitmq.client.RabbitmqLogCollectClient`
+
+## 1.5 Added Since Which shenyu version
+
+* Since ShenYu 2.5.0
+
+## 1.6 Technical Solutions
+
+* Architecture Diagram  
+
+![](/img/shenyu/plugin/logging/shenyu-agent-logging-arch.png)
+
+* Full asynchronous collection and delivery of `Logging` inside the `Apache ShenYu` gateway
+
+* Logging platform by consuming the logs in the `RabbitMQ` cluster for repository, and then using `Grafana`, `Kibana` or other visualization platform to display
+
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/plugin_use_en.jpg)
+
+## 2.2 Import pom
+
+* Add the `Logging-RabbitMQ` dependency to the gateway's `pom.xml` file.
+
+```xml
+<!--shenyu logging-rabbitmq plugin start-->
+<dependency>
+    <groupId>org.apache.shenyu</groupId>
+    <artifactId>shenyu-spring-boot-starter-plugin-logging-rabbitmq</artifactId>
+    <version>${project.version}</version>
+</dependency>
+<!--shenyu logging-rabbitmq plugin end-->
+```
+
+## 2.3 Enable plugin
+
+* In `shenyu-admin` --> Basic Configuration --> Plugin Management --> `loggingRabbitMQ`, configure the rabbitMQ parameter and set it to on.
+
+## 2.4 Config plugin
+
+### 2.4.1 Open the plugin and configure rabbitmq, configure it as follows.
+
+![](/img/shenyu/plugin/logging/logging-rabbitmq/logging-config-rabbitmq-en.png)
+
+* The individual configuration items are described as follows:
+
+| config-item     | type    | description                                         | remarks     |
+|:----------------|:--------|:----------------------------------------------------|:------------|
+| host            | type    | IP                                                  | 必须          |
+| port            | type    | PORT                                                | 必须          |
+| username        | String  | rabbitmq username                                   | 可选          |
+| password        | String  | rabbitmq password                                   | 可选          |
+| virtualHost     | String  | rabbitmq virtualHost                                | 必须,默认/      |
+| exchangeType    | String  | rabbitmq exchange type                              | 必须,默认direct |
+| exchangeName    | String  | rabbitmq exchange name                              | 必须          |
+| queueName       | String  | rabbitmq queue name                                 | 必须          |
+| routingKey      | String  | rabbitmq routing key                                | 必须          |
+| durable         | Boolean | message durable                                     | 必须,默认true   |
+| exclusive       | Boolean | message exclusive                                   | 必须,默认false  |                                   | 必须,默认false  |
+| autoDelete      | String  | message auto delete                                 | 必须,默认false  |
+| args            | String  | rabbitmq args,exaple:{"x-delay":"1000"},delay queue | 可选          |
+| sampleRate                        | String               | Sampling rate, range 0~1, 0: off, 0.01: acquisition 1%, 1: acquisition 100% | Optional, default 1, all collection |
+| maxResponseBody                   | Ingeter              | Maximum response size, above the threshold no response will be collected                | Optional, default 512KB |
+| maxRequestBody                    | Ingeter              | Maximum request body size, above the threshold no request body will be collected               | Optional, default 512KB  |
+Except for host,port,virtualHost,exchangeType,exchangeName,queueName,routingKey,durable,exclusive,autoDelete, all others are optional.
+
+### 2.4.2 Configuring Selectors and Rulers
+
+* For detailed configuration of selectors and rules, please refer to: [Selector and rule management](../../user-guide/admin-usage/selector-and-rule)。
+
+In addition, sometimes a large gateway cluster corresponds to multiple applications (business), different applications (business) corresponds to different topics, related to isolation,  
+then you can configure different topics (optional) and sampling rate (optional) by selector, the meaning of the configuration items as shown in the table above.   
+The operation is shown below:
+![](/img/shenyu/plugin/logging/logging-rabbitmq/logging-option-topic-en.png)
+
+## 2.5 Logging Info
+
+collect request info as follows
+
+| Field Name                  |                                                                               Meaning                                                                               | Description                            | Remarks   |
+|:----------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------|:----|
+| clientIp              |                                                                              Client IP                                                                              |                               |     |
+| timeLocal             |                                                        Request time string, format: yyyy-MM-dd HH:mm:ss.SSS                                                         |                               |     |
+| method                | request method (different rpc type is not the same, http class for: get, post wait, rpc class for the interface name) |                               |     |
+| requestHeader         |                                                                    Request header (json format)                                                                     |                               |     |
+| responseHeader        |                                                                    Response header (json format)                                                                    |                               |     |
+| queryParams           |                                                                      Request query parameters                                                                       |                               |     |
+| requestBody           |                                                       Request Body (body of binary type will not be captured)                                                       |                               |     |
+| requestUri            |                                                                             Request uri                                                                             |                               |     |
+| responseBody          |                                                                            Response body                                                                            |                               |     |
+| responseContentLength |                                                                         Response body size                                                                          |                               |     |
+| rpcType               |                                                                              rpc type                                                                               |                               |     |
+| status                |                                                                           response status                                                                           |                               |     |
+| upstreamIp            |                                                                            Upstream (program providing the service) IP                                                                              |                               |     |
+| upstreamResponseTime  |                                                                      Time taken by the upstream (program providing the service) to respond to the request (ms ms)                                                                         |                               |     |
+| userAgent             |                                                                                Requested user agent                                                                                |                               |     |
+| host                  |                                                                               The requested host                                                                               |                               |     |
+| module                |                                                                                Requested modules                                                                                |                               |     |
+| path                  |                                                                             The requested path                                                                              |                               |     |
+| traceId                |                                                                              Requested Link Tracking ID                                                                              | Need to access link tracking plugins, such as skywalking,zipkin |     |
+
+
+## 2.6 Examples
+
+### 2.6.1 Collect Http Log by RabbitMQ
+
+#### 2.6.1.1 Plugin Configuration
+
+Open the plugin and configure rabbitmq, configure it as follows.
+
+![](/img/shenyu/plugin/logging/logging-rabbitmq/logging-config-rabbitmq-en.png)
+
+#### 2.6.1.2 Selector Configuration
+
+For detailed configuration of selectors and rules, please refer to: [Selector and rule management](../../user-guide/admin-usage/selector-and-rule)。
+
+In addition, sometimes a large gateway cluster corresponds to multiple applications (business), different applications (business) corresponds to different topics, related to isolation,  
+then you can configure different topics (optional) and sampling rate (optional) by selector, the meaning of the configuration items as shown in the table above.   
+The operation is shown below:
+![](/img/shenyu/plugin/logging/logging-option-topic-en.png)
+
+#### 2.6.1.3 Rule Configuration
+
+![](/img/shenyu/plugin/logging/logging-rabbitmq/log-rule-en.jpg)
+
+#### 2.6.1.4 Request Service
+
+![](/img/shenyu/plugin/logging/logging-rabbitmq/call-service.png)
+
+#### 2.6.1.5 Consumption and display of Logging
+
+As each logging platform has differences, such as storage available clickhouse, ElasticSearch, etc., visualization has self-developed or open source Grafana, Kibana, etc..  
+Logging-RabbitMQ plugin uses RabbitMQ to decouple production and consumption, while outputting logs in json format,
+consumption and visualization require users to choose different technology stacks to achieve their own situation.
+
+
+#### 2.6.1.6 Panel Display
+
+Users can choose to visualize the implementation according to their own situation.   
+The following shows the effect of `Grafana`:  
+[Grafana Sandbox Experience](https://play.grafana.org)
+
+![](/img/shenyu/plugin/logging/grafana-loki-gateway.png)
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `loggingRabbitMQ` set Status disable.
+
+![](/img/shenyu/plugin/logging/logging-rabbitmq/logging-rabbitmq-disabled-en.jpg)
+
+
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-rocketmq.md b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-rocketmq.md
new file mode 100644
index 0000000000..d59c340d7a
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-rocketmq.md
@@ -0,0 +1,173 @@
+---
+title: Logging-RocketMQ Plugin
+keywords: ["Logging", "RocketMQ"]
+description: Logging-RocketMQ Plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* Logging-RocketMQ Plugin
+
+## 1.2 Appropriate Scenario
+
+* collect http request log to rocketmq, consume rocketmq message to another application and analysis.
+
+## 1.3 Plugin functionality
+
+>`Apache ShenYu` The gateway receives requests from the client, forwards them to the server, and returns the server results to the client. The gateway can record the details of each request,    
+> The list includes: request time, request parameters, request path, response result, response status code, time consumption, upstream IP, exception information waiting.    
+> The Logging-RocketMQ plugin is a plugin that records access logs and sends them to the RocketMQ cluster.
+
+## 1.4 Plugin code
+
+* Core Module `shenyu-plugin-logging-rocketmq`.
+
+* Core Class `org.apache.shenyu.plugin.logging.rocketmq.LoggingRocketMQPlugin`
+* Core Claas `org.apache.shenyu.plugin.logging.rocketmq.client.RocketMQLogCollectClient`
+
+## 1.5 Added Since Which shenyu version
+
+* Since ShenYu 2.5.0
+
+## 1.6 Technical Solutions
+
+* Architecture Diagram  
+
+![](/img/shenyu/plugin/logging/shenyu-agent-logging-arch.png)
+
+* Full asynchronous collection and delivery of `Logging` inside the `Apache ShenYu` gateway
+
+* Logging platform by consuming the logs in the `RocketMQ` cluster for repository, and then using `Grafana`, `Kibana` or other visualization platform to display
+
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/plugin_use_en.jpg)
+
+## 2.2 Import pom
+
+* Add the `Logging-RocketMQ` dependency to the gateway's `pom.xml` file.
+
+```xml
+<!--shenyu logging-rocketmq plugin start-->
+<dependency>
+    <groupId>org.apache.shenyu</groupId>
+    <artifactId>shenyu-spring-boot-starter-plugin-logging-rocketmq</artifactId>
+    <version>${project.version}</version>
+</dependency>
+<!--shenyu logging-rocketmq plugin end-->
+```
+
+## 2.3 Enable plugin
+
+* In `shenyu-admin` --> Basic Configuration --> Plugin Management --> `loggingRocketMQ`, configure the rocketMQ parameter and set it to on.
+
+## 2.4 Config plugin
+
+### 2.4.1 Open the plugin and configure rocketmq, configure it as follows.
+
+![](/img/shenyu/plugin/logging/logging-config-en.png)
+
+* The individual configuration items are described as follows:
+
+|                                   |                      |                                   |             |
+|:----------------------------------|:---------------------|:----------------------------------|:------------|
+| config-item                       | type                 | description                       | remarks     |
+| topic                             | String               | Message Queue Topics                            | must        |
+| namesrvAddr                       | String               | Message queue nameserver address                        | must          |
+| producerGroup                     | String               | Log Message Producer Group                          | must           |
+| sampleRate                        | String               | Sampling rate, range 0~1, 0: off, 0.01: acquisition 1%, 1: acquisition 100% | Optional, default 1, all collection |
+| compressAlg                       | String               | Compression algorithm, no compression by default, currently supports LZ4 compression               | Optional, no compression by default    |
+| maxResponseBody                   | Ingeter              | Maximum response size, above the threshold no response will be collected                | Optional, default 512KB |
+| maxRequestBody                    | Ingeter              | Maximum request body size, above the threshold no request body will be collected               | Optional, default 512KB  |
+Except for topic, namesrvAddr, producerGroup, all others are optional, in most cases only these 3 items need to be configured.
+
+### 2.4.2 Configuring Selectors and Rulers
+
+* For detailed configuration of selectors and rules, please refer to: [Selector and rule management](../../user-guide/admin-usage/selector-and-rule)。
+
+In addition, sometimes a large gateway cluster corresponds to multiple applications (business), different applications (business) corresponds to different topics, related to isolation,  
+then you can configure different topics (optional) and sampling rate (optional) by selector, the meaning of the configuration items as shown in the table above.   
+The operation is shown below:
+![](/img/shenyu/plugin/logging/logging-option-topic-en.png)
+
+## 2.5 Logging Info
+
+collect request info as follows
+
+| Field Name                  |                                                                               Meaning                                                                               | Description                            | Remarks   |
+|:----------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------|:----|
+| clientIp              |                                                                              Client IP                                                                              |                               |     |
+| timeLocal             |                                                        Request time string, format: yyyy-MM-dd HH:mm:ss.SSS                                                         |                               |     |
+| method                | request method (different rpc type is not the same, http class for: get, post wait, rpc class for the interface name) |                               |     |
+| requestHeader         |                                                                    Request header (json format)                                                                     |                               |     |
+| responseHeader        |                                                                    Response header (json format)                                                                    |                               |     |
+| queryParams           |                                                                      Request query parameters                                                                       |                               |     |
+| requestBody           |                                                       Request Body (body of binary type will not be captured)                                                       |                               |     |
+| requestUri            |                                                                             Request uri                                                                             |                               |     |
+| responseBody          |                                                                            Response body                                                                            |                               |     |
+| responseContentLength |                                                                         Response body size                                                                          |                               |     |
+| rpcType               |                                                                              rpc type                                                                               |                               |     |
+| status                |                                                                           response status                                                                           |                               |     |
+| upstreamIp            |                                                                            Upstream (program providing the service) IP                                                                              |                               |     |
+| upstreamResponseTime  |                                                                      Time taken by the upstream (program providing the service) to respond to the request (ms ms)                                                                         |                               |     |
+| userAgent             |                                                                                Requested user agent                                                                                |                               |     |
+| host                  |                                                                               The requested host                                                                               |                               |     |
+| module                |                                                                                Requested modules                                                                                |                               |     |
+| path                  |                                                                             The requested path                                                                              |                               |     |
+| traceId                |                                                                              Requested Link Tracking ID                                                                              | Need to access link tracking plugins, such as skywalking,zipkin |     |
+
+
+## 2.6 Examples
+
+### 2.6.1 Collect Http Log by RocketMQ
+
+#### 2.6.1.1 Plugin Configuration
+
+Open the plugin and configure rocketmq, configure it as follows.
+
+![](/img/shenyu/plugin/logging/logging-config-en.png)
+
+#### 2.6.1.2 Selector Configuration
+
+For detailed configuration of selectors and rules, please refer to: [Selector and rule management](../../user-guide/admin-usage/selector-and-rule)。
+
+In addition, sometimes a large gateway cluster corresponds to multiple applications (business), different applications (business) corresponds to different topics, related to isolation,  
+then you can configure different topics (optional) and sampling rate (optional) by selector, the meaning of the configuration items as shown in the table above.   
+The operation is shown below:
+![](/img/shenyu/plugin/logging/logging-option-topic-en.png)
+
+#### 2.6.1.3 Rule Configuration
+
+![](/img/shenyu/plugin/logging/logging-rocketmq/log-rule-en.jpg)
+
+#### 2.6.1.4 Request Service
+
+![](/img/shenyu/plugin/logging/logging-rocketmq/call-service.png)
+
+#### 2.6.1.5 Consumption and display of Logging
+
+As each logging platform has differences, such as storage available clickhouse, ElasticSearch, etc., visualization has self-developed or open source Grafana, Kibana, etc..  
+Logging-RocketMQ plugin uses RocketMQ to decouple production and consumption, while outputting logs in json format,
+consumption and visualization require users to choose different technology stacks to achieve their own situation.
+
+
+#### 2.6.1.6 Panel Display
+
+Users can choose to visualize the implementation according to their own situation.   
+The following shows the effect of `Grafana`:  
+[Grafana Sandbox Experience](https://play.grafana.org)
+
+![](/img/shenyu/plugin/logging/grafana-loki-gateway.png)
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `loggingRocketMQ` set Status disable.
+
+![](/img/shenyu/plugin/logging/logging-rocketmq/logging-rocket-disabled-en.jpg)
+
+
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-tencent-cls.md b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-tencent-cls.md
new file mode 100644
index 0000000000..9ab9890d47
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/observability/logging-tencent-cls.md
@@ -0,0 +1,143 @@
+---
+title: Logging-Tencent-Cls Plugin
+keywords: ["Logging"]
+description: logging plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* Logging-TencentCls Plugin
+
+## 1.2 Appropriate Scenario
+
+* collect http request information to tencent cls, analysis request information by tencent cls platform.
+
+## 1.3 Plugin functionality
+
+* The gateway receives requests from the client, forwards them to the server, and returns the server results to the client. The gateway can record the details of each request,
+* the plugin records access logs and sends to tencent cls platform.
+
+## 1.4 Plugin code
+
+* Core Module `shenyu-plugin-logging-tencent-cls`
+
+* Core Class `org.apache.shenyu.plugin.tencent.cls.LoggingTencentClsPlugin`
+* Core Class `org.apache.shenyu.plugin.tencent.cls.client.TencentClsLogCollectClient`
+
+## 1.5 Added Since Which shenyu version
+
+ShenYu 2.5.1
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/plugin_use_en.jpg)
+
+## 2.2 Import pom
+
+- import maven config in shenyu-bootstrap project's `pom.xml` file.
+
+```xml
+<!-- shenyu logging-tencent-cls plugin start -->
+<dependency>
+  <groupId>org.apache.shenyu</groupId>
+  <artifactId>shenyu-spring-boot-starter-plugin-logging-tencent-cls</artifactId>
+  <version>${project.version}</version>
+</dependency>
+<!-- shenyu logging-tencent-cls plugin end -->
+```
+
+## 2.3 Enable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `loggingTencentCls` set Status enable.
+
+## 2.4 Config plugin
+
+### 2.4.1 Plugin configuration
+
+![](/img/shenyu/plugin/logging/logging-tencent-cls/plugin-config-en.jpg)
+
+| config-item         | type    | remarks                              | description                                                                                                                                                                                                                                                                                                                                  |
+|:--------------------|:--------|:-------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| secretId            | String  | must                                 | secretId                                                                                                                                                                                                                                                                                                                                     |
+| secretKey           | String  | must                                 | secretKey                                                                                                                                                                                                                                                                                                                                    |
+| endpoint            | String  | must                                 | host name, example:ap-guangzhou.cls.tencentcs.com                                                                                                                                                                                                                                                                                            |
+| topic               | String  | optional, default shenyu-topic       | topic                                                                                                                                                                                                                                                                                                                                        |
+| sendThreadCount     | String  | optional, default 1                  | Number of core threads for log consumption callback                                                                                                                                                                                                                                                                                          |
+| TotalSizeInBytes    | Integer | optional, default 104857600          | The maximum log size that the instance can cache                                                                                                                                                                                                                                                                                             |
+| MaxSendThreadCount  | Integer | optional, default 50                 | The maximum number of "goroutines" that the client can concurrently                                                                                                                                                                                                                                                                          |
+| MaxBlockSec         | Integer | optional, default 60000 ms           | The maximum amount of time the caller can block on the send method if the client is running out of free space. <br/> If the required space cannot be satisfied after this time, <br/>the send method will throw a TimeoutException. Set this value to a negative number if you want the send method to block until the required space is met |
+| MaxBatchSize        | Integer | optional, default 512 * 1024 (512KB) | When the cached log size in a Batch is greater than or equal to batchSizeThresholdInBytes, the batch will be sent, and the maximum size can be set to 5MB                                                                                                                                                                                    |
+| MaxBatchCount       | Integer | optional, default 4096               | When the number of logs cached in a batch is greater than or equal to batchCountThreshold, the batch will be sent and the maximum can be set to 40960                                                                                                                                                                                        |
+| LingerMs            | Integer | optional, default 2000 ms            | The duration of the batch from the creation to the time it can be sent, the minimum can be set to 100 milliseconds                                                                                                                                                                                                                           |
+| Retries             | Integer | optional, default 10                 | If a Batch fails to be sent for the first time, the number of times it can be retried, if the retries is less than or equal to 0, the ProducerBatch will directly enter the failure queue after the first failure of sending                                                                                                                 |
+| MaxReservedAttempts | Integer | optional, default 11                 | Each batch that is attempted to be sent corresponds to an Attemp. This parameter is used to control the number of attempts returned to the user. By default, only the latest 11 attempts are retained. A larger parameter allows you to trace more information, but also consumes more memory                                                |
+| BaseRetryBackoffMs  | Integer | optional, default 100 ms             | Backoff time for the first retry The client samples the exponential backoff algorithm, and the planned waiting time for the Nth retry is baseRetryBackoffMs * 2^(N-1                                                                                                                                                                         |
+| MaxRetryBackoffMs   | Integer | optional, default 50 s               | Maximum backoff time for retries                                                                                                                                                                                                                                                                                                             |
+
+- get `topic`
+
+![](/img/shenyu/plugin/logging/logging-tencent-cls/tencent-topic.png)
+
+### 2.4.2 Configuration Selectors and Rules
+
+* Selector and rule Config. Please refer: [Selector and rule config](../../user-guide/admin-usage/selector-and-rule.md).
+
+## 2.5 Logging Info
+
+collect request info as follows
+
+| Field Name            |                                                        Meaning                                                        | Description                                                     | Remarks |
+|:----------------------|:---------------------------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------|:--------|
+| clientIp              |                                                       Client IP                                                       |                                                                 |         |
+| timeLocal             |                                 Request time string, format: yyyy-MM-dd HH:mm:ss.SSS                                  |                                                                 |         |
+| method                | request method (different rpc type is not the same, http class for: get, post wait, rpc class for the interface name) |                                                                 |         |
+| requestHeader         |                                             Request header (json format)                                              |                                                                 |         |
+| responseHeader        |                                             Response header (json format)                                             |                                                                 |         |
+| queryParams           |                                               Request query parameters                                                |                                                                 |         |
+| requestBody           |                                Request Body (body of binary type will not be captured)                                |                                                                 |         |
+| requestUri            |                                                      Request uri                                                      |                                                                 |         |
+| responseBody          |                                                     Response body                                                     |                                                                 |         |
+| responseContentLength |                                                  Response body size                                                   |                                                                 |         |
+| rpcType               |                                                       rpc type                                                        |                                                                 |         |
+| status                |                                                    response status                                                    |                                                                 |         |
+| upstreamIp            |                                      Upstream (program providing the service) IP                                      |                                                                 |         |
+| upstreamResponseTime  |             Time taken by the upstream (program providing the service) to respond to the request (ms ms)              |                                                                 |         |
+| userAgent             |                                                 Requested user agent                                                  |                                                                 |         |
+| host                  |                                                  The requested host                                                   |                                                                 |         |
+| module                |                                                   Requested modules                                                   |                                                                 |         |
+| path                  |                                                  The requested path                                                   |                                                                 |         |
+| traceId               |                                              Requested Link Tracking ID                                               | Need to access link tracking plugins, such as skywalking,zipkin |         |
+
+## 2.6 Examples
+
+### 2.6.1 Collect Http Log by tencent cls platform
+
+#### 2.6.1.1 Plugin Configuration
+
+* Open the plugin and configure tencent-cls, configure it as follows.
+
+![](/img/shenyu/plugin/logging/logging-tencent-cls/plugin-config-en.jpg)
+
+#### 2.6.1.2 Selector Configuration
+
+![](/img/shenyu/plugin/logging/logging-tencent-cls/tencent-cls-log-selector-en.png)
+
+#### 2.6.1.3 Rule Configuration
+
+![](/img/shenyu/plugin/logging/logging-tencent-cls/tencent-cls-log-rule-en.png)
+
+#### 2.6.1.4 Send Request
+
+![](/img/shenyu/plugin/logging/logging-tencent-cls/call-service.png)
+
+#### 2.6.1.5 Tencent cls Platform Display
+
+![](/img/shenyu/plugin/logging/logging-tencent-cls/tencent-cls-log.jpg)
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `loggingTencentCls` set Status disable.
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/observability/metrics-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/observability/metrics-plugin.md
new file mode 100644
index 0000000000..131a2344e8
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/observability/metrics-plugin.md
@@ -0,0 +1,245 @@
+---
+title: Metrics Plugin
+keywords: ["Metrics"]
+description: Metrics plugin
+---
+
+## Description
+
+* Metrics plugin is used to monitor its own running status(JVM-related) by gateway, include request response delay, QPS, TPS, and other related metrics.
+
+## Technical Solutions
+
+* Flow Diagram
+  ![](/img/shenyu/plugin/monitor/shenyu-metrics.png)
+* Make even tracking in ShenYu Gateway by asynchronous or synchronous mode.
+
+* The `prometheus` server pulls metrics' through http request, and then displays it by `Grafana`.
+
+## Plugin Setting
+
+* Introduce `metrics` dependency in the pom.xml file of the gateway.
+
+```xml
+  <!-- apache shenyu metrics plugin start-->
+  <dependency>
+      <groupId>org.apache.shenyu</groupId>
+      <artifactId>shenyu-spring-boot-starter-plugin-metrics</artifactId>
+      <version>${project.version}</version>
+  </dependency>
+  <!-- apache shenyu metrics plugin end-->
+```
+
+* modify this config in shenyu gateway yaml
+
+```yml
+shenyu:
+  metrics:
+    enabled: false #false is close, true is open
+    name : prometheus 
+    host: 127.0.0.1
+    port: 8090
+    jmxConfig:
+    props:
+      jvm_enabled: true #enable jvm monitoring
+```
+
+## Metrics Detail
+
+* All JVM,thread,memory,and other related information will be made event tracking,you can add a JVM module in the Grafana' panel, and it will be fully displayed, please refer to: https://github.com/prometheus/jmx_exporter
+
+* There are also the following custom `metrics`
+
+### shenyu gateway custom metrics
+
+| Name                                 |type                   |labels         | description                  |
+|:-----------------------------------  |:--------------------- |:------------- |:-------------------- |
+|shenyu_request_total                  |Counter                | none          |collecting all requests of Apache ShenYu Gateway |
+|shenyu_request_throw_total            |Counter                | none          |collecting all exception requests of Apache ShenYu Gateway |
+|shenyu_request_type_total             |Counter                | path,type     |collecting all matched requests of monitor|
+|shenyu_execute_latency_millis         |histogram              | none          | ShenYu gateway execute time interval                  |
+
+
+### jmx metrics
+
+| name                            | type    | labals | help                                                           |
+|:-------------------------------:|:-------:|:------:|:--------------------------------------------------------------:|
+| jmx_config_reload_success_total | counter |        | Number of times configuration have successfully been reloaded. |
+| jmx_config_reload_failure_total | counter |        | Number of times configuration have failed to be reloaded.      |
+| jmx_scrape_duration_seconds     | gauge   |        | Time this JMX scrape took, in seconds.                         |
+| jmx_scrape_error                | gauge   |        | Non-zero if this scrape failed.                                |
+| jmx_scrape_cached_beans         | gauge   |        | Number of beans with their matching rule cached                |
+| jmx_scrape_duration_seconds     | gauge   |        | Time this JMX scrape took, in seconds.                         |
+| jmx_scrape_error                | gauge   |        | Non-zero if this scrape failed.                                |
+| jmx_scrape_cached_beans         | gauge   |        | Number of beans with their matching rule cached                |
+
+### jvm metrics
+
+#### StandardExports
+
+| name                          | type    | labels | help                                                   |
+|:-----------------------------:|:-------:|:------:|:------------------------------------------------------:|
+| process_cpu_seconds_total     | counter |        | Total user and system CPU time spent in seconds.       |
+| process_start_time_seconds    | gauge   |        | Start time of the process since unix epoch in seconds. |
+| process_open_fds              | gauge   |        | Number of open file descriptors.                       |
+| process_max_fds               | gauge   |        | Maximum number of open file descriptors.               |
+| process_virtual_memory_bytes  | gauge   |        | Virtual memory size in bytes.                          |
+| process_resident_memory_bytes | gauge   |        | Resident memory size in bytes.                         |
+
+#### MemoryPoolsExports
+
+| name                                       | type  | labels                 | help                                                              |
+|:------------------------------------------:|:-----:|:----------------------:|:-----------------------------------------------------------------:|
+| jvm_memory_objects_pending_finalization    | gauge | {area="heap\|nonheap"} | The number of objects waiting in the finalizer queue.             |
+| jvm_memory_bytes_used                      | gauge | {area="heap\|nonheap"} | Used bytes of a given JVM memory area.                            |
+| jvm_memory_bytes_committed                 | gauge | {area="heap\|nonheap"} | Committed (bytes) of a given JVM memory area.                     |
+| jvm_memory_bytes_max                       | gauge | {area="heap\|nonheap"} | Max (bytes) of a given JVM memory area.                           |
+| jvm_memory_bytes_init                      | gauge | {area="heap\|nonheap"} | Initial bytes of a given JVM memory area.                         |
+| jvm_memory_pool_bytes_used                 | gauge | {pool}                 | Used bytes of a given JVM memory pool.                            |
+| jvm_memory_pool_bytes_committed            | gauge | {pool}                 | Committed bytes of a given JVM memory pool.                       |
+| jvm_memory_pool_bytes_max                  | gauge | {pool}                 | Max bytes of a given JVM memory pool.                             |
+| jvm_memory_pool_bytes_init                 | gauge | {pool}                 | Initial bytes of a given JVM memory pool.                         |
+| jvm_memory_pool_collection_used_bytes      | gauge | {pool}                 | Used bytes after last collection of a given JVM memory pool.      |
+| jvm_memory_pool_collection_committed_bytes | gauge | {pool}                 | Committed after last collection bytes of a given JVM memory pool. |
+| jvm_memory_pool_collection_max_bytes       | gauge | {pool}                 | Max bytes after last collection of a given JVM memory pool.       |
+| jvm_memory_pool_collection_init_bytes      | gauge | {pool}                 | Initial after last collection bytes of a given JVM memory pool.   |
+
+#### MemoryAllocationExports
+
+| name                                  | type    | labels | help                                                                                       |
+|:-------------------------------------:|:-------:|:------:|:------------------------------------------------------------------------------------------:|
+| jvm_memory_pool_allocated_bytes_total | counter | {pool} | Total bytes allocated in a given JVM memory pool. Only updated after GC, not continuously. |
+|                                       |         |        |                                                                                            |
+|                                       |         |        |                                                                                            |
+
+#### BufferPoolsExports
+
+| name                           | type  | labels | help                                       |
+|:------------------------------:|:-----:|:------:|:------------------------------------------:|
+| jvm_buffer_pool_used_bytes     | gauge | {pool} | Used bytes of a given JVM buffer pool.     |
+| jvm_buffer_pool_capacity_bytes | gauge | {pool} | Bytes capacity of a given JVM buffer pool. |
+| jvm_buffer_pool_used_buffers   | gauge | {pool} | Used buffers of a given JVM buffer pool.   |
+
+#### GarbageCollectorExports
+
+| name                      | type    | labels | help                                                    |
+|:-------------------------:|:-------:|:------:|:-------------------------------------------------------:|
+| jvm_gc_collection_seconds | summary | {gc}   | Time spent in a given JVM garbage collector in seconds. |
+
+#### ThreadExports
+
+| name                           | type    | labels  | help                                                                                                   |
+|:------------------------------:|:-------:|:-------:|:------------------------------------------------------------------------------------------------------:|
+| jvm_threads_current            | gauge   |         | Current thread count of a JVM                                                                          |
+| jvm_threads_daemon             | gauge   |         | Daemon thread count of a JVM                                                                           |
+| jvm_threads_peak               | gauge   |         | Peak thread count of a JVM                                                                             |
+| jvm_threads_started_total      | counter |         | Started thread count of a JVM                                                                          |
+| jvm_threads_deadlocked         | gauge   |         | Cycles of JVM-threads that are in deadlock waiting to acquire object monitors or ownable synchronizers |
+| jvm_threads_deadlocked_monitor | gauge   |         | Cycles of JVM-threads that are in deadlock waiting to acquire object monitors                          |
+| jvm_threads_state              | gauge   | {state} | Current count of threads by state                                                                      |
+
+#### ClassLoadingExports
+
+| name                       | type    | labels | help                                                                                    |
+|:--------------------------:|:-------:|:------:|:---------------------------------------------------------------------------------------:|
+| jvm_classes_loaded         | gauge   |        | The number of classes that are currently loaded in the JVM                              |
+| jvm_classes_loaded_total   | counter |        | The total number of classes that have been loaded since the JVM has started execution   |
+| jvm_classes_unloaded_total | counter |        | The total number of classes that have been unloaded since the JVM has started execution |
+
+#### VersionInfoExports
+
+| name | type | labels                                                                            | help            |
+|:----:|:----:|:---------------------------------------------------------------------------------:|:---------------:|
+| jvm  | info | {version(java.runtime.version),vendor(java.vm.vendor),runtime(java.runtime.name)} | VM version info |
+
+
+## Collect metrics
+
+Users need to install `Prometheus` service to collect
+
+### Install Prometheus in windows 
+
+* Choose the corresponding environment [download address](https://prometheus.io/download/) to install
+* Modify configuration file: `prometheus.yml`
+
+ ```yaml
+ scrape_configs:
+   - job_name: 'Apache ShenYu'
+     # metrics_path defaults to '/metrics'
+     # scheme defaults to 'http'.
+     static_configs:
+     - targets: ['localhost:8090'] # metrics of apache shenyu are exposed on port 8090 by default
+ ```
+
+* After the configuration is completed, you can directly double-click `prometheus.exe` in the window to start. The default boot port is `9090`,check `status`->`Targets` . Success can be verified at http://localhost:9090/
+
+![](/img/shenyu/monitor/request-metric-6.png)
+
+### Install Prometheus in the macOS 
+
+* Install prometheus with brew,After installation `prometheus` is in the `Cellar` folder under `homebrew`。
+
+```
+brew install prometheus
+```
+
+* Execute the following command in the location of the prometheus.yml file to start prometheus。
+
+```
+prometheus --config.file=prometheus.yml &
+```
+
+Visit `http://localhost:9090/` to verify that it starts normally。
+
+
+## Panel Display
+
+It is recommended to use `Grafana`, Users can customize the query to personalize the display panel.
+
+Here's how to install and deploy `Grafana`
+
+### Install Grafana in windows 
+
+* Install Grafana
+
+[download](https://dl.grafana.com/oss/release/grafana-7.4.2.windows-amd64.zip) Unzip it and enter the `bin` directory and `double-click` `grafana-server.exe` to run it. Go to http://localhost:3000/?orgId=1 `admin/admin` to verify the success
+
+### Install Grafana in macOS 
+
+* Install grafana using brew.
+
+```
+brew install grafana
+```
+
+* Start grafana as a service
+
+```
+brew services start grafana
+```
+
+Visit `http://localhost:3000/` to verify that it starts normally.
+
+### View monitoring data with Grafana
+
+* Configure the data source, select prometheus, note that the data source name is prometheus.
+
+![](/img/shenyu/monitor/request-metric-7.png)
+
+![](/img/shenyu/monitor/request-metric-8.png)
+
+* Config Custom Metric Dashboard `request_total`、`http_request_total`
+
+Click `Create` - `Import` and enter the [panel config json](https://shenyu.apache.org/img/shenyu/monitor/request_metric_dashboard.json)
+
+The final custom HTTP request monitoring panel looks like this:
+
+![](/img/shenyu/monitor/request-metric-1.png)
+
+![](/img/shenyu/monitor/request-metric-2.png)
+
+![](/img/shenyu/monitor/request-metric-3.png)
+
+![](/img/shenyu/monitor/request-metric-4.png)
+
+![](/img/shenyu/monitor/request-metric-5.png)
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/proxy/_category_.json b/versioned_docs/version-2.7.0.1/plugin-center/proxy/_category_.json
new file mode 100644
index 0000000000..09c6722ca6
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/proxy/_category_.json
@@ -0,0 +1,4 @@
+{
+  "label": "Proxy",
+  "position": 2
+}
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/proxy/divide-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/proxy/divide-plugin.md
new file mode 100644
index 0000000000..5afd38ac67
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/proxy/divide-plugin.md
@@ -0,0 +1,145 @@
+---
+title: Divide Plugin
+keywords: ["divide"]
+description: divide plugin
+---
+
+# 1. Overview
+
+## 1.1 Plugin Name
+
+* `divide` Plugin
+
+## 1.2 Appropriate Scenario
+
+* Handling `http protocol` requests.
+* Support traffic management, such as a/b test, grayscale test.
+* Service Load Balancing.
+* Set request timeout.
+
+## 1.3 Plugin functionality
+
+* Supports traffic management based on request information such as uri, header, and query.
+* Supports setting the load balancing strategy for requests, and supports service warm-up. Currently, three strategies are supported: ip hash (consistent hash with virtual nodes), round-robbin (weighted polling), random (weighted random).
+* Supports setting the maximum value of the request header, the maximum value of the request body, and the request level timeout.
+* Supports setting the timeout retry policy and the number of retries. Currently, the retry policy supports: current (retrying the server that failed before) and failover (retrying other servers).
+
+## 1.4 Plugin Code
+
+* Core module is ```shenyu-plugin-divide```.
+* Core class is ```org.apache.shenyu.plugin.divide.DividePlugin```.
+
+# 2. How to use plugin
+
+## 2.1 Plugin-use procedure chart
+
+![](/img/shenyu/plugin/divide/procedure-en.png)
+
+## 2.2 Import pom
+
+- Import maven in shenyu-bootstrap project's `pom.xml` file.
+
+```xml
+  <dependency>
+      <groupId>org.apache.shenyu</groupId>
+      <artifactId>shenyu-spring-boot-starter-gateway</artifactId>
+     <version>${project.version}</version>
+  </dependency>
+```
+
+## 2.3 Enable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `divide` set Status enable.
+
+![](/img/shenyu/plugin/divide/enable-en.png)
+
+## 2.4 Config plugin
+
+### 2.4.1 Configure access parameters in the client project configuration file
+
+* Client access method and server address. The following example uses the http access method. Currently, the client supports the following access methods: http, zookeeper, etcd, nacos, consul. For detailed access configuration parameters, please refer to [Client Access Configuration](docs/user-guide/property-config/register-center-access.md).
+* Client configuration, including the protocol name and the routing address of the service, please use the http protocol here, and the value of contextPath must be configured as the routing address of each service.
+
+```yaml
+  shenyu:
+    register:
+      registerType: http
+      serverLists: http://localhost:9095
+      props:
+        username: admin
+        password: 123456
+    client:
+      http: # http protocol
+        props:
+          contextPath: /http # routing address for each service
+```      
+
+### 2.4.2 Configure upstream validity detection parameters in the shenyu-admin configuration file
+
+The following example uses the http access method. Currently, the client supports the following access methods: http, zookeeper, etcd, nacos, consul. For detailed access configuration parameters, please refer to [Client Access Configuration](docs/user-guide/property-config/register-center-access.md).
+> Only http-type registries support upstream detection.
+
+```yaml
+  shenyu:
+    register:
+      registerType: http # Only http-type register center support upstream detection.
+      serverLists: 
+      props:
+        checked: true # The default is true, set to false, do not detect.
+        zombieCheckTimes: 5 # The maximum number of zombie upstream detections. If it exceeds 5 times, its validity will no longer be detected. The default value is 5.
+        scheduledTime: 10 # Timing detection interval, the default is 10 seconds.
+        zombieRemovalTimes: 60 # How many seconds the upstream is offline to be considered as a zombie upstream, the default is 60 seconds.
+```
+
+### 2.4.3 Configure the selector and rule information of the divide plugin in shenyu-admin
+
+After the client is started, the [selector and rule](../../user-guide/admin-usage/selector-and-rule) information will be automatically registered in shenyu-admin -> Plugin List -> Proxy -> Divide.
+
+![](/img/shenyu/plugin/divide/select-and-rule-en.png)
+
+#### 2.4.3.1 Selector configuration
+
+Example of divide selector. For general selector configuration, please refer to [Selectors and Rules](../../user-guide/admin-usage/selector-and-rule).
+
+![](/img/shenyu/plugin/divide/selector-en.png)
+
+##### 2.4.3.1.1 Selector handling information configuration
+
+- `host`: fill in `localhost`, this field is not used currently.
+- `ip:port`: `ip` and port, fill in the `ip` + port of your real service here.
+- `protocol`: `http` protocol, fill in `http:` or `https:`, if not fill in, the default is: `http:`.
+- `startupTime`: Startup time in milliseconds.
+- `weight`: load balancing weight, the default value of service startup automatic registration is 50.
+- `warmupTime`: Warmup time, in milliseconds. The server during warmup will calculate the instantaneous weight, and the calculated value will be smaller than the actual configured weight to protect the server just started. The default value of service startup registration is 10. For example, the warm-up time is 100 milliseconds, the current startup is 50 milliseconds, the configured weight is 50, and the actual weight is 25.
+- `status`: On or off, this selector is valid only in the on state.
+
+#### 2.4.3.2 Processing information configuration of rules
+
+Example of divide rule. For general rule configuration, please refer to [selectors and rules](../../user-guide/admin-usage/selector-and-rule).
+
+![](/img/shenyu/plugin/divide/rule-en.png)
+
+##### 2.4.3.2.1 Rule processing information configuration
+
+- `loadStrategy`: If the `http` client is a cluster, which load balancing strategy is used when the `Apache ShenYu` gateway is called, currently supports `roundRobin`, `random` and `hash`.
+- `timeout`: The timeout for calling the `http` client.
+- `retry Count`: The number of retries that failed to call the `http` client timeout.
+- `headerMaxSize`: The maximum value of the requested `header`.
+- `requestMaxSize`: The maximum value of the request body.
+- `retryStrategy`: Supported since `2.4.3`, retry strategy after failure, default `current` to maintain compatibility with lower versions. For example, there are 3 downstream services `http:localhost:1111`, `http:localhost:1112` and `http:localhost:1113`, assuming the first load balancing to `http:localhost:1111` and `call failed`. Using the `current` strategy will continue to retry calling `http:localhost:1111`; using the `failover` strategy will retry calling other services such as `ht [...]
+
+## 2.5 Examples
+
+### 2.5.1 Example A/B Test
+
+To be added, welcome contribute.
+
+### 2.5.2 Example Grayscale Test
+
+To be added, welcome contribute.
+
+# 3. How to disable plugin
+
+- In `shenyu-admin` --> BasicConfig --> Plugin --> `divide` set Status disable.
+
+![](/img/shenyu/plugin/divide/disable-en.png)
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/proxy/dubbo-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/proxy/dubbo-plugin.md
new file mode 100644
index 0000000000..110274f1a1
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/proxy/dubbo-plugin.md
@@ -0,0 +1,137 @@
+---
+title: Dubbo Plugin
+keywords: ["dubbo"]
+description: dubbo plugin
+---
+
+## Explanation
+
+* Dubbo is a plugin that converts `http protocol` into `Dubbo protocol` and it is also the key for gateway to realize dubbo generic service.
+* Dubbo plugin needs to cooperate with metadata to realize dubbo calls.
+* Apache Dubbo and Alibaba Dubbo users both use the same plugin.
+
+## Plugin Setting
+
+* Add related dependencies and enable plugin, please refer to: [Quick start with Dubbo](../../quick-start/quick-start-dubbo) .
+
+* `Dubbo` client access, please refer to: [Dubbo Proxy](../../user-guide/proxy/dubbo-proxy.md) .
+
+* Set selector and rule, please refer to: [Selector And Rule Config](../../user-guide/admin-usage/selector-and-rule) .
+
+* Since `version 2.4.3`, the new fields and meanings of the dubbo plugin:
+
+<img src="/img/shenyu/plugin/dubbo/dubbo_plugin.png" width="80%" height="80%" />
+
+  * `corethreads`:The number of core threads in the business thread pool。
+
+  * `queues`:The length of the blocking queue of the business thread pool, 0 means `unbounded blocking queue`。
+
+  * `threadpool`:There are five types of business thread pools: `fixed`, `eager`, `cached`, `limited` and `shared`. The first 4 types correspond to the thread pools officially provided by dubbo. Let's talk about `shared`, as its name implies, `all proxy plugins` share a `shared` thread pool, the advantage of this is that it can reduce the number of thread pools, thereby reducing memory and improving resource utilization。
+
+  * `threads`:The maximum number of threads in the business thread pool。
+
+## Plugin Detail
+
+After the client accesses the `ShenYu` gateway, it will automatically register the selector and rule information. For details about the selector and rule configuration, see [Selector and Rule Config](../../user-guide/admin-usage/selector-and-rule) .
+
+#### Selector Handler
+
+<img src="/img/shenyu/plugin/dubbo/selector_en_new.png" width="80%" height="80%" />
+
+Selector Handler, the `handle` field, is an operation that can be processed by the gateway after matching the traffic. For more information, please refer to [Plugin handle management](../../user-guide/admin-usage/plugin-handle-explanation.md) in Plugin Config.
+
+* details:
+
+  * `host`:host string.
+  
+  * `ip:port`:ip+port string.
+    
+  * `protocol`:protocol default is 'http'.
+  
+  * `group`:the group of dubbo service.
+  
+  * `version`:the version of dubbo service.
+  
+  * `weight`:the server instance and participate in load balancing calculation.
+  
+  * `warmupTime`:the server's warm up time and and participate in load balancing calculation.
+  
+  * `startupTime`:the server's start time.
+  
+  * `status`:true: the server is available,false: the server is unavailable.
+      
+  * `gray`:enable gray routing.
+  
+Gray routing
+
+if you want to user gray route in dubbo-plugin, you can click the `gray` button.
+
+* Gray level publishing can customize and control the traffic proportion of new version applications when publishing new version applications, gradually complete the full launch of new version applications, maximize the business risk caused by new version publishing, reduce the impact surface caused by faults, and support rapid roll back.
+
+when the gray is open,Gateway load balancing will select one node from the current node list for routing and you can modify node weights to change the weight of nodes in the load balancing algorithm.
+It should be noted that,if your business instance not use the client jar of 'shenyu-client-apache-dubbo' or 'shenyu-client-alibaba-dubbo', You should add gray node information manually on this selector page.
+
+#### Rule Handler
+
+<img src="/img/shenyu/plugin/dubbo/rule_en.png" width="80%" height="80%" />
+
+Rule Handler, the `handle` field, can be performed by the gateway after the final matching of traffic. For more information, please refer to [Plugin handle management](../../user-guide/admin-usage/plugin-handle-explanation.md) in Plugin Config.
+
+* details:
+
+  * `loadbalance`:the loadbalance of dubbo service, if the gray node selection fails, the default load balancing method will be used.
+
+* Apache ShenYu will obtain the real IP of the corresponding service and initiate rpc proxy calls from registration center of dubbo.
+
+
+## Metadata
+
+* Every dubbo interface method corresponds to a piece of metadata, which can be found in `shenyu-admin` --> BasicConfig -> Metadata .
+
+<img src="/img/shenyu/plugin/dubbo/dubbo-metadata-en.jpg" width="50%"/>
+
+* AppName: The name of the application to which this piece of metadata belongs.
+
+* MethodName: The name of the method that needs to be called.
+
+* Path: your http request path.
+
+* PathDescribe: Description of the path, for easy viewing.
+
+* ParamsType: List of parameter types of dubbo interface, there are two declaration methods here:
+  e.g. we have an interface `update(Integer id, String name, Integer age)`
+
+  * Type list
+
+        ```yaml
+        java.lang.Integer,java.lang.String,java.lang.Integer
+        ```
+
+    * According to the order of the parameter types of the interface, separated by `,`
+
+    * When requesting to pass parameters, **the parameters must be passed in strictly in accordance with the order of the parameter types**, if a parameter without value use `null` as a placeholder.
+
+          Request body example: `{"id":1,"name": null,"age":18}`
+
+  * Name mapping
+
+      ```yaml
+      {"id":"java.lang.Integer","name":"java.lang.String","age":"java.lang.Integer"}      
+      ```
+
+    * Use `"parameter name":"parameter type"` to represent a parameter, set in order of interface parameter type, separated by `,`
+
+    * No need to pay attention to the order when requesting, and no need to use null placeholders.
+
+          Request body example: `{"name":"Mike","id":1}`
+
+* RpcExpand: corresponding to some configurations of dubbo interface; If you want to adjust, please modify here, which support json format like the following fields:
+
+```yaml
+{"timeout":10000,"group":"",version":"","loadbalance":"","retries":1}
+```
+
+* Interface: The fully-qualified name for dubbo interface .
+
+* RpcType: Choose `dubbo` .
+
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/proxy/grpc-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/proxy/grpc-plugin.md
new file mode 100644
index 0000000000..85a298e66c
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/proxy/grpc-plugin.md
@@ -0,0 +1,81 @@
+---
+title: gRPC Plugin
+keywords: ["grpc-plugin"]
+description:  grpc-plugin
+---
+
+
+## Description
+
+* The grpc plugin is a plugin that converts the Http protocol into the grpc protocol.
+
+
+## Plugin Setting
+
+* Add related dependencies and enable plugin, please refer to: [Quick start with gRPC](../../quick-start/quick-start-grpc) .
+
+* `gRPC` client access, please refer to: [gRPC Proxy](../../user-guide/proxy/grpc-proxy.md) .
+
+* New fields and meanings of grpc plugin since `2.4.3`:
+
+  * `threadpool`:There are two types of business thread pools, `cached` and `shared`. 
+    
+    `cached` is equivalent to the default thread pool officially provided by grpc; 
+    
+    `shared` thread pool, just as its name, `all proxy plugins` share a `shared` `Thread pool, the advantage of doing this is that it can reduce the number of thread pools, thereby reducing memory and improving resource utilization.
+
+
+## Plugin Detail
+
+
+After the client accesses the `Apache ShenYu` gateway, it will automatically register the selector and rule information. You can see it in PluginList -> rpc proxy -> grpc. For details about the selector and rule configuration, see [Selector And Rule Config](../../user-guide/admin-usage/selector-and-rule) .
+
+
+#### Selector Handler
+
+<img src="/img/shenyu/plugin/grpc/selector_en.png" width="80%" height="80%" />
+
+
+Selector Handler, the `handle` field, is the processing operation that the gateway can perform after matching the traffic.
+
+
+* config details:
+
+  * `ip:port`:enter the ip:port of your real service .
+
+  * `protocol`:indicates the Http protocol. Generally, the value is `http://` or `https://`. If the value is not specified, the default value is `http://` .
+
+  * `weight`:service weight.
+
+  * `status`:open or close.
+
+
+## Metadata
+
+Each `grpc` interface method, will correspond to a metadata, when the `grpc` application client access to the `Apache ShenYu` gateway, will be automatically registered, can be viewed in the `shenyu-admin` background management system of the BasicConfig --> Metadata management.
+
+<img src="/img/shenyu/plugin/grpc/metadata_en.png" width="80%" height="80%" />
+
+
+* AppName: specifies the name of the application to which the metadata belongs.
+
+* MethodName: the name of the method to call.
+
+* Path: http request path.
+
+* PathDescribe: the description of the path is easy to view.
+
+* ParamsType: the parameters are separated by commas (,) in the order of interface parameter types.
+
+* RpcExpand: other configurations of the `grpc` interface, which support the `JSON` format, are as follows:
+
+```json
+{
+  "timeout": 5000,
+  "methodType": "SERVER_STREAMING"
+}
+```
+
+* Interface: The fully qualified class name of the `grpc` interface.
+
+* RpcType:choose `grpc`.
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/proxy/motan-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/proxy/motan-plugin.md
new file mode 100644
index 0000000000..e94e497c26
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/proxy/motan-plugin.md
@@ -0,0 +1,68 @@
+---
+title: Motan Plugin
+keywords: ["motan-plugin"]
+description:  motan-plugin
+---
+
+
+## Description
+
+* The motan plugin is a plugin that converts the Http protocol into the motan protocol.
+
+
+## Plugin Setting
+
+* Add related dependencies and enable plugin, please refer to: [Quick start with Motan](../../quick-start/quick-start-motan) .
+
+* `Motan` client access, please refer to: [Motan Proxy](../../user-guide/proxy/motan-proxy.md) .
+
+
+
+## Plugin Detail
+
+After the client accesses the `Apache ShenYu` gateway, it will automatically register the selector and rule information.
+
+You can see it in PluginList -> rpc proxy -> motan. For details about the selector and rule configuration, see [Selector And Rule Config](../../user-guide/admin-usage/selector-and-rule) .
+
+## Metadata
+
+Each `motan` interface method, will correspond to a metadata, when the `motan` application client access to the `Apache ShenYu` gateway, will be automatically registered, can be viewed in the `shenyu-admin` background management system of the BasicConfig --> Metadata management.
+
+<img src="/img/shenyu/plugin/motan/metadata_en.png" width="60%" height="50%" />
+
+
+* AppName: specifies the name of the application to which the metadata belongs.
+
+* MethodName: the name of the method to call.
+
+* Path: http request path.
+
+* PathDescribe: the description of the path is easy to view.
+
+* ParamsType: the parameters are separated by commas (,) in the order of interface parameter types.
+
+* RpcExpand: description of each interface in a `motan` service. For example, here is the interface information for the `motan` service:
+
+
+
+```json
+{
+  "methodInfo": [
+    {
+      "methodName": "hello",
+      "params": [
+        {
+          "left": "java.lang.String",
+          "right": "name"
+        }
+      ]
+    }
+  ],
+  "group": "motan-shenyu-rpc"
+}
+```
+
+
+* Interface: The fully qualified class name of the `motan` interface.
+
+* RpcType:choose `motan`.
diff --git a/versioned_docs/version-2.7.0.1/plugin-center/proxy/mqtt-plugin.md b/versioned_docs/version-2.7.0.1/plugin-center/proxy/mqtt-plugin.md
new file mode 100644
index 0000000000..07f49b2f40
--- /dev/null
+++ b/versioned_docs/version-2.7.0.1/plugin-center/proxy/mqtt-plugin.md
@@ -0,0 +1,46 @@
+---
+title: Mqtt Plugin
+keywords: ["Mqtt"]
+description: Mqtt access shenyu gateway
+---
+
+## Description
+
+* After the plugin is used, it will give the ability of mqtt.
+
+## Introducing Plugin Support of Mqtt Gateway
+
+* Introducing those dependencies in the pom.xml file of the gateway.
+
+```xml
+<!-- apache shenyu mqtt plugin start-->
+<dependency>
+    <groupId>org.apache.shenyu</groupId>
+    <artifactId>shenyu-spring-boot-starter-plugin-mqtt</artifactId>
+    <version>${project.version}</version>
+</dependency>
+```
+
... 9489 lines suppressed ...