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

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


The following commit(s) were added to refs/heads/main by this push:
     new 7bf6a51567 [type:refactor] remove springcloud plugin and refactor 
discovery plugin. (#1065)
7bf6a51567 is described below

commit 7bf6a51567a4c48abfe81256652aa2ec3df571d7
Author: yunlongn <yunl...@apache.org>
AuthorDate: Tue May 6 15:52:49 2025 +0800

    [type:refactor] remove springcloud plugin and refactor discovery plugin. 
(#1065)
    
    * [type:refactor] remove springcloud plugin and refactor discovery plugin.
    
    * [type:refactor] remove springcloud plugin and refactor discovery plugin.
    
    * [type:refactor] remove springcloud plugin and refactor discovery plugin.
    
    * [type:refactor] remove springcloud plugin and refactor discovery plugin.
    
    * [type:refactor] remove springcloud plugin and refactor discovery plugin.
---
 docs/plugin-center/proxy/spring-cloud-plugin.md    | 314 +-------------------
 docs/quick-start/quick-start-springcloud.md        | 112 ++------
 docs/user-guide/proxy/spring-cloud-proxy.md        | 296 +------------------
 .../plugin-center/proxy/spring-cloud-plugin.md     | 317 +--------------------
 .../current/quick-start/quick-start-springcloud.md | 134 ++-------
 .../current/user-guide/proxy/spring-cloud-proxy.md | 301 +------------------
 .../springCloud-dynamic-register-operate-en-v2.png | Bin 0 -> 86749 bytes
 .../springCloud-dynamic-register-operate-v2.png    | Bin 0 -> 86749 bytes
 8 files changed, 66 insertions(+), 1408 deletions(-)

diff --git a/docs/plugin-center/proxy/spring-cloud-plugin.md 
b/docs/plugin-center/proxy/spring-cloud-plugin.md
index 9500cb83e6..343c2f1c0f 100644
--- a/docs/plugin-center/proxy/spring-cloud-plugin.md
+++ b/docs/plugin-center/proxy/spring-cloud-plugin.md
@@ -4,314 +4,10 @@ keywords: ["SpringCloud"]
 description: SpringCloud Plugin
 ---
 
-# 1. Overview
+# Remove reminder
 
-## 1.1 Plugin Name
+- From this version onwards, no longer use a separate `spring-cloud-plugin` to 
support `spring-cloud`
+- Integrate the function of `springcloud registry center` into `discovery` of 
`divide` plugin,
+- Please refer to `shenyu-examples-springcloud` to access `bootstrap`
 
-* SpringCloud Plugin
-
-## 1.2 Appropriate Scenario
-
-* transform http to springcloud
-* springcloud gray flow control
-
-## 1.3 Plugin functionality
-
-* transform http protocol into springCloud protocol.
-
-## 1.4 Plugin code
-
-* Core Module `shenyu-plugin-springcloud`
-
-* Core Class `org.apache.shenyu.plugin.springcloud.SpringCloudPlugin`
-
-## 1.5 Added Since Which shenyu version
-
-Since ShenYu 2.4.0
-
-# 2. How to use plugin
-
-* Add related dependencies and enable plugin, please refer to: [Quick start 
with Spring Cloud](../../quick-start/quick-start-springcloud) .
-
-* `Spring Cloud` client access, please refer to: [Spring Cloud 
Proxy](../../user-guide/proxy/spring-cloud-proxy.md) .
-
-## 2.1 Plugin-use procedure chart
-
-![](/img/shenyu/plugin/plugin_use_en.jpg)
-
-## 2.2 Import pom
-
-* Eureka Registry
-
-```xml
-<dependency>
-  <groupId>org.apache.shenyu</groupId>
-  <artifactId>shenyu-spring-boot-starter-plugin-springcloud</artifactId>
-  <version>${project.version}</version>
-</dependency>
-
-<dependency>
-  <groupId>org.springframework.cloud</groupId>
-  <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
-  <version>${eureka-client.version}</version>
-</dependency>
-
-<dependency>
-  <groupId>org.springframework.cloud</groupId>
-  <artifactId>spring-cloud-commons</artifactId>
-  <version>${spring-cloud-commons.version}</version>
-</dependency>
-
-<dependency>
-  <groupId>org.apache.shenyu</groupId>
-  <artifactId>shenyu-spring-boot-starter-plugin-httpclient</artifactId>
-  <version>${project.version}</version>
-</dependency>
-```
-
-* Nacos Registry
-
-```xml
-<dependency>
-  <groupId>org.apache.shenyu</groupId>
-  <artifactId>shenyu-spring-boot-starter-plugin-springcloud</artifactId>
-  <version>${project.version}</version>
-</dependency>
-
-<dependency>
-  <groupId>com.alibaba.cloud</groupId>
-  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
-  <version>${nacos-discovery.version}</version>
-</dependency>
-
-<dependency>
-  <groupId>org.springframework.cloud</groupId>
-  <artifactId>spring-cloud-commons</artifactId>
-  <version>${spring-cloud-commons.version}</version>
-</dependency>
-
-<dependency>
-  <groupId>org.apache.shenyu</groupId>
-  <artifactId>shenyu-spring-boot-starter-plugin-httpclient</artifactId>
-  <version>${project.version}</version>
-</dependency>
-```
-
-## 2.3 Config SpringCloud in ShenYu-Boostrap
-
-### 2.3.1 Config SpringCloud Registry With Eureka
-
-```yaml
-spring:
-  cloud:
-    discovery:
-      enabled: true
-
-eureka:
-  client:
-    enabled: true
-    serviceUrl:
-      defaultZone: http://localhost:8761/eureka/
-  instance:
-    prefer-ip-address: true
-```
-
-### 2.3.2 Config SpringCloud Registry With Nacos
-
-```yaml
-spring:
-  cloud:
-    discovery:
-      enabled: true
-    nacos:
-      discovery:
-        server-addr: 127.0.0.1:8848 # Spring Cloud Alibaba Dubbo use this.
-        enabled: true
-        namespace: ShenyuRegisterCenter
-```
-
-### 2.3.3 Config SpringCloud LoadBalancer
-
-> *Notice*
-> 
-> After ShenYu 2.5.0(include), ShenYu use `shenyu-loadbalancer` as 
loadbalancer client, you just config loadbalance in springcloud plugin rule.
-> if you don't config loadbalance, springcloud plugin will use `roundRobin` 
algorithm.
-> 
-> Before ShenYu 2.4.3(include), ShenYu use `Ribbon` as loadbalancer client, 
you must config loadbalancer as follows.
-
-```yaml
-spring:
-  cloud:
-    loadbalancer:
-      ribbon:
-        enabled: true
-```
-
-## 2.4 Enable plugin
-
-- In shenyu-admin --> BasicConfig --> Plugin --> `springCloud` set Status 
enabled.
-
-<img src="/img/shenyu/quick-start/springcloud/springcloud_open_en.png" 
width="60%" height="50%" />
-
-## 2.5 Config plugin
-
-### 2.5.1 Plugin config
-
-* you must config springcloud registry and set springcloud plugin enabled.
-
-### 2.5.2 Selector And Gray Config
-
-![](/img/shenyu/plugin/springcloud/selector_en_2.png)
-
-* Gray routing
-
-if you want to user gray route in springCloud-plugin, you can click the `gray` 
button.
-
-![](/img/shenyu/plugin/springcloud/gray_en_2.png)
-
-* 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.
-
-<img src="/img/shenyu/plugin/springcloud/gray.png" width="80%" height="80%" />
-
-It should be noted that,if your business instance not use the client jar of 
`shenyu-client-springcloud`, You should add gray node information manually on 
this selector page.
-
-* `serviceId`: your springcloud service id
-
-* `gray`:enable gray routing.
-
-  * `protocol`: protocol default is 'http://'.
-
-  * `upstreamUrl`: the server instance host, ip:port.
-
-  * `weight`: the server instance and participate in load balancing 
calculation.
-
-  * `status`: true: the server is available,false: the server is unavailable.
-
-  * `timestamp`: the server's start time.
-
-  * `warmup`: the server's warm up time and and participate in load balancing 
calculation.
-  
-### 2.5.3 Rule Config
-
-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) in Plugin 
Config.
-
-* use `shenyu-client-springcloud` rule config
-
-![](/img/shenyu/plugin/springcloud/rule_en_2.png)
-
-* details:
-
-  * `timeout`:set time out.
-  * `loadbalance`:loadbalance algorithm,there are three options: 
`roundRobin`,`random`,`hash`
-
-* not use `shenyu-client-springcloud` rule config
-
-![](/img/shenyu/plugin/springcloud/rule_en.png)
-
-* details:
-
-  * `path`:request path.
-  * `timeout`:set time out.
-
-### 2.5.4 SpringCloud ServiceInstance Cache Config
-
-you can config springcloud serviceInstance cache in `shenyu-bootstrap.yml` as 
follows.
-
-```yaml
-shenyu:
-  springCloudCache:
-    enabled: false
-```
-
-this config will help you get serviceInstance from springcloud registry every 
heartbeat time(listen to spring cloud heartbeat event)
-
-* when you use nacos or eureka as registry, you can config springcloud 
serviceInstance cache to `false`.  
-* when you use zookeeper or consul as registry, you can config springcloud 
serviceInstance cache to `true`.
-
-## 2.6 Examples
-
-### 2.6.1 Use ShenYu Request SpringCloud Service
-
-#### 2.6.1.1 Preparation
-
-- Start `Eureka` or `Nacos` Registry, if you use eureka, start 
`shenyu-examples-eureka` in `shenyu-example`
-- Start `ShenYu Admin` application
-- Start `shenyu-examples-springcloud`
-
-#### 2.6.1.2 Plugin Config
-
-- In shenyu-admin --> BasicConfig --> Plugin --> `springCloud` set Status 
enabled.
-
-- Config SpringCloud Registry in `ShenYu Bootstrap`, please read [2.3 Config 
SpringCloud in ShenYu-Boostrap](#2.3 Config SpringCloud in ShenYu-Boostrap)
-
-#### 2.6.1.3 Selector Config
-
-![](/img/shenyu/plugin/springcloud/selector_en_2.png)
-
-if your want to use gray flow and the gray flow have registered to `ShenyYu`, 
you must config gray upstream as follows.
-
-![](/img/shenyu/plugin/springcloud/gray_en_2.png)
-
-#### 2.6.1.4 Rule Config
-
-if you use `shenyu-client-springcloud` register service to `ShenYu`, you don't 
config rule, if you want to change rule config,
-please read [2.5.3 Rule Config](#2.5.3 Rule Config)
-
-#### 2.6.1.5 Request SpringCloud Service and Check Result
-
-![](/img/shenyu/plugin/springcloud/springcloud-request.png)
-
-### 2.6.2 Use ShenYu Request Unregistered SpringCloud Service
-
-#### 2.6.2.1 Preparation
-
-- Start `Eureka` or `Nacos` Registry, if you use eureka, start 
`shenyu-examples-eureka` in `shenyu-example`
-- Start `ShenYu Admin` application
-- Start `shenyu-examples-springcloud`
-
-#### 2.6.2.2 Plugin Config
-
-- In shenyu-admin --> BasicConfig --> Plugin --> `springCloud` set Status 
enabled.
-
-- Config SpringCloud Registry in `ShenYu Bootstrap`, please read [2.3 Config 
SpringCloud in ShenYu-Boostrap](#2.3 Config SpringCloud in ShenYu-Boostrap)
-
-#### 2.6.2.3 Selector Config
-
-![](/img/shenyu/plugin/springcloud/selector_en_2.png)
-
-if your want to use gray flow and the gray flow unregister to `ShenyYu`, you 
must config gray upstream as follows.
-
-![](/img/shenyu/plugin/springcloud/gray_en_2.png)
-
-#### 2.6.2.4 Rule Config
-
-![](/img/shenyu/plugin/springcloud/rule_en.png)
-
-you must config `path` in rule config, `path` is your service uri, for 
example: `/springcloud/new/feature/gateway/not`,
-`timeout` is your service allow timeout.
-
-#### 2.6.2.5 Access Unregistered Services Through Configuration
-
-##### 2.6.2.5.1 use the field `rpc_type` in http request header
-
-```
-### shengyu getway proxy not support
-POST http://localhost:9195/springcloud/new/feature/gateway/not
-Accept: application/json
-Content-Type: application/json
-rpc_type: springCloud
-```
-
-##### 2.6.2.5.2 add meta_data in ShenYu Admin
-
-![](/img/shenyu/plugin/springcloud/springcloud_metadata_en.png)
-
-#### 2.6.2.6 Request SpringCloud Service and Check Result
-
-![](/img/shenyu/plugin/springcloud/springcloud-request-unregistered.png)
-
-# 3. How to disable plugin
-
-- In `shenyu-admin` --> BasicConfig --> Plugin --> `springCloud` set Status 
disable.
+![](/img/shenyu/quick-start/springcloud/springCloud-dynamic-register-operate-en-v2.png)
diff --git a/docs/quick-start/quick-start-springcloud.md 
b/docs/quick-start/quick-start-springcloud.md
index 58276376ce..dcdcd7ce21 100644
--- a/docs/quick-start/quick-start-springcloud.md
+++ b/docs/quick-start/quick-start-springcloud.md
@@ -8,88 +8,29 @@ This document introduces how to quickly access the Apache 
ShenYu gateway using S
 ## Environment to prepare
 
 
-Please refer to the deployment to select a way to start shenyu-admin. For 
example, start the Apache ShenYu gateway management system through [local 
deployment](../deployment/deployment-local) .
-
-After successful startup, you need to open the springCloud plugin on in the 
BasicConfig `->` Plugin.
-
-<img src="/img/shenyu/quick-start/springcloud/springcloud_open_en.png" 
width="60%" height="50%" />
-
-If you are a startup gateway by means of source, can be directly run the 
ShenyuBootstrapApplication of shenyu-bootstrap module.
-
-> Note: Before starting, make sure the gateway has added dependencies.
-
-Add the gateway proxy plugin for `Spring Cloud` and add your registry center 
dependencies:
-
-```xml
-<!-- apache shenyu springCloud plugin start-->
-               <dependency>
-                    <groupId>org.apache.shenyu</groupId>
-                    
<artifactId>shenyu-spring-boot-starter-plugin-springcloud</artifactId>
-                    <version>${project.version}</version>
-                </dependency>
-
-                <dependency>
-                    <groupId>org.springframework.cloud</groupId>
-                    <artifactId>spring-cloud-commons</artifactId>
-                    <version>2.2.0.RELEASE</version>
-                </dependency>
-
-                <dependency>
-                    <groupId>org.apache.shenyu</groupId>
-                    
<artifactId>shenyu-spring-boot-starter-plugin-httpclient</artifactId>
-                    <version>${project.version}</version>
-                </dependency>
-        <!-- springCloud if you config register center is eureka please 
dependency end-->
-                <dependency>
-                    <groupId>org.springframework.cloud</groupId>
-                    
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
-                    <version>2.2.0.RELEASE</version>
-                </dependency>
-        <!-- apache shenyu springCloud plugin end-->
+Please refer to the operation and maintenance deployment content and choose a 
way to start `shenyu-admin`. For example, start the `Apache ShenYu` backend 
management system through [local deployment](../deployment/deployment-local).
+
+To start the gateway, if it is through source code, directly run 
`ShenyuBootstrapApplication` in `shenyu-bootstrap`.
+
+## Startup sequence
+
+- Start `shenyu-admin`
+- Start `shenyu-bootstrap`
+- Start the registration center, such as the `eureka` project under 
`shenyu-examples`
+- Configure `shenyu-examples-springcloud` registration discovery
+
+```yaml
+shenyu:
+  discovery:
+    enable: true
+    type: eureka
+    serverList: ${eureka.client.serviceUrl.defaultZone}
+    registerPath: ${spring.application.name}
+    props:
+      nacosNameSpace: ShenyuRegisterCenter
 ```
 
-
-`eureka` config information:
-
-```yml
-eureka:
-  client:
-    serviceUrl:
-      defaultZone: http://localhost:8761/eureka/
-  instance:
-    prefer-ip-address: true
-```
-
-Note: Please ensure that the spring Cloud registry service discovery 
configuration is enabled
-
-* Configuration method
-
-```yml
-spring:
-  cloud:
-    discovery:
-      enabled: true
-```
-
-* code method
-
-```java
-@SpringBootApplication
-@EnableDiscoveryClient
-public class ShenyuBootstrapApplication {
-    
-    /**
-     * Main Entrance.
-     *
-     * @param args startup arguments
-     */
-    public static void main(final String[] args) {
-        SpringApplication.run(ShenyuBootstrapApplication.class, args);
-    }
-}
-```
-
-Restart the `shenyu-bootstrap` project.
+## Run `shenyu-examples-springcloud`
 
 ## Configure the registration center related information on the admin side
 
@@ -124,18 +65,14 @@ serverLists indicates the IP address of the registration 
center, and props is th
 
 In the example project we used `Eureka` as the registry for `Spring Cloud`. 
You can use the local `Eureka` or the application provided in the example.
 
-
 Download 
[shenyu-examples-eureka](https://github.com/apache/shenyu/tree/master/shenyu-examples/shenyu-examples-eureka)
 
、[shenyu-examples-springcloud](https://github.com/apache/shenyu/tree/master/shenyu-examples/shenyu-examples-springcloud)
 .
 
-
 Startup the Eureka service:
 Execute the `org.apache.shenyu.examples.eureka.EurekaServerApplication` main 
method to start project.
 
 Startup the Spring Cloud service:
 Execute the 
`org.apache.shenyu.examples.springcloud.ShenyuTestSpringCloudApplication` main 
method to start project.
 
-Since `2.4.3`, `shenyu.client.springCloud.props.port` can be non-configured if 
you like.
-
 The following log appears when the startup is successful:
 
 ```shell
@@ -174,11 +111,12 @@ The following log appears when the startup is successful:
 2021-02-10 14:03:54.231  INFO 2860 --- [           main] 
o.d.s.e.s.ShenyuTestSpringCloudApplication : Started 
ShenyuTestSpringCloudApplication in 6.338 seconds (JVM running for 7.361) 
 ```
 
-## Test
+- After starting `shenyu-examples-springcloud`
+- You can see the newly registered data on the `divide` plugin of the admin 
system
 
-The `shenyu-examples-springcloud` project will automatically register 
interface methods annotated with `@ShenyuSpringCloudClient` in the Apache 
ShenYu gateway after successful startup.
+## Test
 
-Open PluginList -> rpc proxy -> springCloud to see the list of plugin rule 
configurations:
+The `shenyu-examples-springcloud` project will automatically register 
interface methods annotated with `@ShenyuSpringMvcClient` in the Apache ShenYu 
gateway after successful startup.
 
 ![](/img/shenyu/quick-start/springcloud/rule-list.png)
 
diff --git a/docs/user-guide/proxy/spring-cloud-proxy.md 
b/docs/user-guide/proxy/spring-cloud-proxy.md
index f64ad91e85..a0c1348270 100644
--- a/docs/user-guide/proxy/spring-cloud-proxy.md
+++ b/docs/user-guide/proxy/spring-cloud-proxy.md
@@ -4,297 +4,11 @@ keywords: ["Spring Cloud"]
 description: springCloud with shenyu gateway
 ---
 
-This document is intended to help the `Spring Cloud` service access the 
`Apache ShenYu` gateway. The `Apache ShenYu` gateway uses the `springCloud` 
plugin to handle `Spring Cloud` service.
+# Remove reminder
 
-Before the connection, start `shenyu-admin` correctly, start `springCloud` 
plugin, and add related dependencies on the gateway and `springCloud` 
application client. Refer to the previous [Quick start with Spring 
Cloud](../../quick-start/quick-start-springcloud) .
+- From this version onwards, no longer use a separate `spring-cloud-plugin` to 
support `spring-cloud`
+- Integrate the function of `springcloud registry center` into `discovery` of 
`divide` plugin,
+- Please refer to `shenyu-examples-springcloud` to access `bootstrap`
 
-For details about client access configuration, see [Application Client Access 
Config](../property-config/register-center-access.md) .
-
-For details about data synchronization configurations, see [Data 
Synchronization Config](../property-config/use-data-sync.md) .
-
-
-## Add springcloud plugin in gateway
-
-* add these dependencies in gateway's pom.xml:
-
-
-```xml
-  <!-- apache shenyu springCloud plugin start-->
-  <dependency>
-       <groupId>org.apache.shenyu</groupId>
-       <artifactId>shenyu-spring-boot-starter-plugin-springcloud</artifactId>
-        <version>${project.version}</version>
-  </dependency>
-
-  <dependency>
-       <groupId>org.apache.shenyu</groupId>
-       <artifactId>shenyu-spring-boot-starter-plugin-httpclient</artifactId>
-       <version>${project.version}</version>
-   </dependency>
-   <!-- apache shenyu springCloud plugin end-->
-
-   <dependency>
-        <groupId>org.springframework.cloud</groupId>
-        <artifactId>spring-cloud-commons</artifactId>
-        <version>2.2.0.RELEASE</version>
-   </dependency>
-```
-
-* If you use `eureka` as SpringCloud registry center.
-
-  add these dependencies:
-
- ```xml
-   <dependency>
-        <groupId>org.springframework.cloud</groupId>
-        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
-        <version>2.2.0.RELEASE</version>
-   </dependency>
-   ```
-
-add these config values in gateway's yaml file:
-
- ```yaml
-    eureka:
-      client:
-        serviceUrl:
-          defaultZone: http://localhost:8761/eureka/ #your eureka address
-      instance:
-        prefer-ip-address: true
-   ```
-
-* if you use `nacos` as Spring Cloud registry center.
-
-  add these dependencies:
-
- ```xml
-  <dependency>
-        <groupId>com.alibaba.cloud</groupId>
-        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
-        <version>2.1.0.RELEASE</version>
-  </dependency>
-   ```
-
-add these config values in gateway's yaml file:
-
- ```yaml
-   spring:
-      cloud:
-        nacos:
-          discovery:
-             server-addr: 127.0.0.1:8848 # your nacos address
-   ```
-
-Special note: Please ensure that the spring Cloud registry service discovery 
configuration is enabled
-
-* Configuration method
-
-```yml
-spring:
-  cloud:
-    discovery:
-      enabled: true
-```
-
-* code method
-
-```java
-@SpringBootApplication
-@EnableDiscoveryClient
-public class ShenyuBootstrapApplication {
-    
-    /**
-     * Main Entrance.
-     *
-     * @param args startup arguments
-     */
-    public static void main(final String[] args) {
-        SpringApplication.run(ShenyuBootstrapApplication.class, args);
-    }
-}
-```
-
-* restart your gateway service.
-
-## SpringCloud service access gateway
-
-Please refer to 
[shenyu-examples-springcloud](https://github.com/apache/shenyu/tree/master/shenyu-examples/shenyu-examples-springcloud)
-
-* Add the following dependencies to your `Spring Cloud` microservice :
-
-```xml
- <dependency>
-      <groupId>org.apache.shenyu</groupId>
-      <artifactId>shenyu-spring-boot-starter-client-springcloud</artifactId>
-      <version>${shenyu.version}</version>
- </dependency>
-```
-
-* Add the annotation `@ShenyuSpringCloudClient` in your `controller` 
interface. you can apply the annotation to class-level in a controller.the name 
of the path variable is prefix and '/**' will apply proxy for entire interfaces.
-
-* example (1):both `/test/payment` and `/test/findByUserId` will be handled by 
gateway.
-
- ```java
-  @RestController
-  @RequestMapping("/test")
-  @ShenyuSpringCloudClient(path = "/test/**")
-  public class HttpTestController {
-
-      @PostMapping("/payment")
-      public UserDTO post(@RequestBody final UserDTO userDTO) {
-          return userDTO;
-      }
-
-      @GetMapping("/findByUserId")
-      public UserDTO findByUserId(@RequestParam("userId") final String userId) 
{
-          UserDTO userDTO = new UserDTO();
-          userDTO.setUserId(userId);
-          userDTO.setUserName("hello world");
-          return userDTO;
-      }
-   }
-```
-
-example (2):`/order/save` will be handled by gateway, and `/order/findById` 
won't.
-
- ```java
-  @RestController
-  @RequestMapping("/order")
-  @ShenyuSpringCloudClient(path = "/order")
-  public class OrderController {
-
-      @PostMapping("/save")
-      @ShenyuSpringMvcClient(path = "/save")
-      public OrderDTO save(@RequestBody final OrderDTO orderDTO) {
-          orderDTO.setName("hello world save order");
-          return orderDTO;
-      }
-
-      @GetMapping("/findById")
-      public OrderDTO findById(@RequestParam("id") final String id) {
-          OrderDTO orderDTO = new OrderDTO();
-          orderDTO.setId(id);
-          orderDTO.setName("hello world findById");
-          return orderDTO;
-      }
-  }
-```
-
-example (3):  `isFull`:`true`  represents that all service will be represented 
by the gateway.
-
-```yaml
-shenyu:
-  register:
-    registerType: http #zookeeper #etcd #nacos #consul
-    serverLists: http://localhost:9095 #localhost:2181 #http://localhost:2379 
#localhost:8848
-    props:
-      username: admin
-      password: 123456
-  client:
-    springCloud:
-      props:
-        contextPath: /springcloud
-        isFull: true
-#        port: 8884
-# registerType : service registre type, see the application client access 
document
-# serverList: server list, see the application client access document
-# contextPath: route prefix for your project in ShenYu gateway.
-# isFull: set true to proxy your all service and false to proxy some of your 
controllers
-```
-
- ```java
-  @RestController
-  @RequestMapping("/order")
-  public class OrderController {
-
-      @PostMapping("/save")
-      @ShenyuSpringMvcClient(path = "/save")
-      public OrderDTO save(@RequestBody final OrderDTO orderDTO) {
-          orderDTO.setName("hello world save order");
-          return orderDTO;
-      }
-
-      @GetMapping("/findById")
-      public OrderDTO findById(@RequestParam("id") final String id) {
-          OrderDTO orderDTO = new OrderDTO();
-          orderDTO.setId(id);
-          orderDTO.setName("hello world findById");
-          return orderDTO;
-      }
-  }
-```
-
-example (4):This is a simplified way to use it, just need a simple annotation 
to register to the gateway using metadata.
-Special note: currently only supports `@RequestMapping, @GetMapping, 
@PostMapping, @DeleteMapping, @PutMapping` annotations, and only valid for the 
first path in `@XXXMapping`.
-
-```java
-  @RestController
-  @RequestMapping("new/feature")
-  public class NewFeatureController {
-  
-    /**
-     * no support gateway access api.
-     *
-     * @return result
-     */
-    @RequestMapping("/gateway/not")
-    public EntityResult noSupportGateway() {
-      return new EntityResult(200, "no support gateway access");
-    }
-  
-    /**
-     * Do not use shenyu annotation path. used request mapping path.
-     *
-     * @return result
-     */
-    @RequestMapping("/requst/mapping/path")
-    @ShenyuSpringCloudClient
-    public EntityResult requestMappingUrl() {
-      return new EntityResult(200, "Do not use shenyu annotation path. used 
request mapping path");
-    }
-  
-    /**
-     * Do not use shenyu annotation path. used post mapping path.
-     *
-     * @return result
-     */
-    @PostMapping("/post/mapping/path")
-    @ShenyuSpringCloudClient
-    public EntityResult postMappingUrl() {
-      return new EntityResult(200, "Do not use shenyu annotation path. used 
post mapping path");
-    }
-  
-    /**
-     * Do not use shenyu annotation path. used post mapping path.
-     *
-     * @return result
-     */
-    @GetMapping("/get/mapping/path")
-    @ShenyuSpringCloudClient
-    public EntityResult getMappingUrl() {
-      return new EntityResult(200, "Do not use shenyu annotation path. used 
get mapping path");
-    }
-  }
-
-```
-
-* After successfully registering your service, go to the backend management 
system PluginList -> rpc proxy -> springCloud ', you will see the automatic 
registration of selectors and rules information.
-
-
-
-## User Request
-
-* Send the request as before, only two points need to notice.
-
-* firstly,the domain name that requested before in your service, now need to 
replace with gateway's domain name.
-
-* secondly, Apache ShenYu gateway needs a route prefix which comes from 
`contextPath`, it configured during the integration with gateway, you can 
change it freely in divide plugin of `shenyu-admin`, if your familiar with it.
-
-> For example, your have an `order` service and it has a interface, the 
request url: `http://localhost:8080/test/save` .
->
-> Now need to change to:`http://localhost:9195/order/test/save` .
->
-> We can see `localhost:9195` is the gateway's ip port, default port number is 
`9195` , `/order` is the `contextPath` in your config yaml file.
->
-> The request of other parameters doesn't change. Then you can visit, very 
easy and simple.
+![](/img/shenyu/quick-start/springcloud/springCloud-dynamic-register-operate-en-v2.png)
 
diff --git 
a/i18n/zh/docusaurus-plugin-content-docs/current/plugin-center/proxy/spring-cloud-plugin.md
 
b/i18n/zh/docusaurus-plugin-content-docs/current/plugin-center/proxy/spring-cloud-plugin.md
index 697d1bdfed..ae183efdd4 100644
--- 
a/i18n/zh/docusaurus-plugin-content-docs/current/plugin-center/proxy/spring-cloud-plugin.md
+++ 
b/i18n/zh/docusaurus-plugin-content-docs/current/plugin-center/proxy/spring-cloud-plugin.md
@@ -4,317 +4,10 @@ keywords: ["SpringCloud"]
 description: Spring Cloud插件
 ---
 
+# 移除提醒
 
-# 1. 概述
+- 从这个版本起。不再使用单独的 `spring-cloud-plugin` 对 `spring-cloud` 进行支持
+- 对 `springcloud 注册中心` 的功能集成到 `divide` 插件的 `discovery` 中,
+- 请参考 `shenyu-examples-springcloud` 来接入 `bootstrap`
 
-## 1.1 插件名称
-
-* SpringCloud插件
-
-## 1.2 适用场景
-
-* 用来将`http协议` 转成 `Spring Cloud协议`。
-* 用于SpringCloud微服务灰度流量控制。
-
-## 1.3 插件功能
-
-* 将`http协议` 转成 `Spring Cloud协议`。
-
-## 1.4 插件代码
-
-* 核心模块 `shenyu-plugin-springcloud`
-
-* 核心类 `org.apache.shenyu.plugin.springcloud.SpringCloudPlugin`
-
-## 1.5 添加自哪个shenyu版本
-
-* 2.4.0
-
-# 2. 如何使用插件
-
-* 引入相关依赖,开启插件,请参考:[Spring 
Cloud快速开始](../../quick-start/quick-start-springcloud) 。
-
-* `Spring Cloud`应用客户端接入,请参考:[Spring 
Cloud服务接入](../../user-guide/proxy/spring-cloud-proxy.md) 。
-
-## 2.1 插件使用流程图
-
-![](/img/shenyu/plugin/plugin_use_zh.jpg)
-
-## 2.2 导入pom
-
-* Eureka Registry
-
-```xml
-<dependency>
-  <groupId>org.apache.shenyu</groupId>
-  <artifactId>shenyu-spring-boot-starter-plugin-springcloud</artifactId>
-  <version>${project.version}</version>
-</dependency>
-
-<dependency>
-  <groupId>org.springframework.cloud</groupId>
-  <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
-  <version>${eureka-client.version}</version>
-</dependency>
-
-<dependency>
-  <groupId>org.springframework.cloud</groupId>
-  <artifactId>spring-cloud-commons</artifactId>
-  <version>${spring-cloud-commons.version}</version>
-</dependency>
-
-<dependency>
-  <groupId>org.apache.shenyu</groupId>
-  <artifactId>shenyu-spring-boot-starter-plugin-httpclient</artifactId>
-  <version>${project.version}</version>
-</dependency>
-```
-
-* Nacos Registry
-
-```xml
-<dependency>
-  <groupId>org.apache.shenyu</groupId>
-  <artifactId>shenyu-spring-boot-starter-plugin-springcloud</artifactId>
-  <version>${project.version}</version>
-</dependency>
-
-<dependency>
-  <groupId>com.alibaba.cloud</groupId>
-  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
-  <version>${nacos-discovery.version}</version>
-</dependency>
-
-<dependency>
-  <groupId>org.springframework.cloud</groupId>
-  <artifactId>spring-cloud-commons</artifactId>
-  <version>${spring-cloud-commons.version}</version>
-</dependency>
-
-<dependency>
-  <groupId>org.apache.shenyu</groupId>
-  <artifactId>shenyu-spring-boot-starter-plugin-httpclient</artifactId>
-  <version>${project.version}</version>
-</dependency>
-```
-
-## 2.3 在ShenYu Bootstrap配置SpringCloud
-
-### 2.3.1 配置SpringCloud的Eureka服务注册发现
-
-```yaml
-spring:
-  cloud:
-    discovery:
-      enabled: true
-
-eureka:
-  client:
-    enabled: true
-    serviceUrl:
-      defaultZone: http://localhost:8761/eureka/
-  instance:
-    prefer-ip-address: true
-```
-
-### 2.3.2 配置SpringCloud的Nacos服务注册发现
-
-```yaml
-spring:
-  cloud:
-    discovery:
-      enabled: true
-    nacos:
-      discovery:
-        server-addr: 127.0.0.1:8848 # Spring Cloud Alibaba Dubbo use this.
-        enabled: true
-        namespace: ShenyuRegisterCenter
-```
-
-### 2.3.3 配置SpringCloud插件负载均衡
-
-> *注意*
-> 
-> 在ShenYu 
2.5.0(包括)之后,ShenYu使用自有的`shenyu-loadbalancer`作为负载均衡客户端,你只需要在springcloud插件的规则配置中配置负载均衡。
-> 如果你没有配置负载均衡,将使用默认的`roundRobin`算法。
->
-> 在ShenYu 2.4.3(包括)之前,ShenYu使用`Ribbon`作为负载均衡客户端,你必须如下配置负载均衡。
-
-```yaml
-spring:
-  cloud:
-    loadbalancer:
-      ribbon:
-        enabled: true
-```
-
-## 2.4 启用插件
-
-- 在 `shenyu-admin` --> 基础配置 --> 插件管理-> `springCloud` ,设置为开启。
-
-<img src="/img/shenyu/quick-start/springcloud/springcloud_open_en.png" 
width="60%" height="50%" />
-
-## 2.5 配置插件
-
-### 2.5.1 插件配置
-
-* 你必须配置你的服务注册发现中心并将插件打开。
-
-### 2.5.2 选择器和灰度流量配置
-
-![](/img/shenyu/plugin/springcloud/selector_zh_2.png)
-
-* 灰度路由
-
-如果您想在springCloud插件中使用灰色路由,可以单击“灰色”按钮。
-
-![](/img/shenyu/plugin/springcloud/gray_zh_2.png)
-
-* 
灰度发布可以在发布新版本应用时,自定义控制新版本应用流量比重,渐进式完成新版本应用的全量上线,最大限度地控制新版本发布带来的业务风险,降低故障带来的影响面,同时支持快速回滚。
-
-当开启灰度是,网关的负载平衡算法将从当前节点列表中选择一个节点进行路由,并且您可以通过修改节点权重以更改负载平衡算法中节点的权重。
-
-<img src="/img/shenyu/plugin/springcloud/gray.png" width="80%" height="80%" />
-
-需要注意的是,如果您的业务实例没有使用`shenyu-client-springcloud`的客户端进行业务注册发现,您应该在当前选择器页面上手动添加节点信息进行灰度路由。
-
-* 处理配置详解:
-
-  * `serviceId`:serviceId。
-
-  * `gray`:启用灰度路由。
-
-    * `protocol`:协议默认值为'http://'。
-
-    * `upstreamUrl`: 服务器节点地址。
-
-    * `weight`: 服务器节点权重。
-
-    * `status`:true:服务器可用,false:服务器不可用。
-
-    * `timestamp`:节点的启动时间。
-
-    * `warmup`:节点的预热时间,参与负载均衡计算。
-
-
-### 2.5.3 规则配置
-
-规则处理,即`handle`字段,是网关对流量完成最终匹配后,可以进行处理的操作。更多信息请参考插件管理中的 
[插件处理管理](../../user-guide/admin-usage/plugin-handle-explanation) 。
-
-* 使用 `shenyu-client-springcloud` 的规则配置
-
-![](/img/shenyu/plugin/springcloud/rule_zh_2.png)
-
-* 规则配置详解:
-
-  * `timeout`:设置请求超时时间。
-  * `loadbalance`:负载均衡算法,有三个可选项:`roundRobin`,`random`,`hash` 
-
-* 未使用 `shenyu-client-springcloud` 的规则配置
-
-![](/img/shenyu/plugin/springcloud/rule_zh.png)
-
-* 规则配置详解:
-
-  * `path`:请求路径。
-  * `timeout`:设置请求超时时间。
-
-### 2.5.4 SpringCloud服务实例缓存配置
-
-你能在`shenyu-bootstrap.yml`文件中修改如下配置:
-
-```yaml
-shenyu:
-  springCloudCache:
-    enabled: false
-```
-
-此配置将帮助您在每次心跳时从springcloud注册中心获取serviceInstance(通过监听springcloud心跳事件)
-
-* 当您使用nacos或者eureka作为注册中心时,您可以将springcloud serviceInstance缓存设置为`false`。
-* 当您使用zookeeper或者consul作为注册中心时,您可以将springcloud serviceInstance缓存设置为`true`。
-
-## 2.6 示例
-
-### 2.6.1 使用ShenYu访问SpringCloud服务
-
-#### 2.6.1.1 准备工作
-
-- 启动 `Eureka` 或 `Nacos` 服务注册发现中心, 如果你使用eureka, 启动 `shenyu-examples-eureka`即可
-- 启动 `ShenYu Admin` 
-- 启动 `shenyu-examples-springcloud`
-
-#### 2.6.1.2 插件配置
-
-- 在 `shenyu-admin` --> 基础配置 --> 插件管理-> `springCloud` ,设置为开启。
-
-- 在`ShenYu Bootstrap`配置服务注册发现中心, 请查看 [2.3 在ShenYu Bootstrap配置SpringCloud](#2.3 
在ShenYu Bootstrap配置SpringCloud)
-
-#### 2.6.1.3 选择器配置
-
-![](/img/shenyu/plugin/springcloud/selector_zh_2.png)
-
-如果你想使用注册到ShenYu的灰度流量,你必须配置灰度路由。
-
-![](/img/shenyu/plugin/springcloud/gray_zh_2.png)
-
-#### 2.6.1.4 规则配置
-
-如果你使用`shenyu-client-springcloud`注册服务到`ShenYu`,你可以不用配置规则,如果你想改变规则,请查看[2.5.3 
规则配置](#2.5.3 规则配置)
-
-#### 2.6.1.5 请求服务并且验证结果
-
-![](/img/shenyu/plugin/springcloud/springcloud-request.png)
-
-### 2.6.2 使用ShenYu访问未注册到ShenYu的SpringCloud服务
-
-#### 2.6.2.1 准备工作
-
-- 启动 `Eureka` 或 `Nacos` 服务注册发现中心, 如果你使用eureka, 启动 `shenyu-examples-eureka`即可
-- 启动 `ShenYu Admin`
-- 启动 `shenyu-examples-springcloud`
-
-#### 2.6.2.2 插件配置
-
-- 在 `shenyu-admin` --> 基础配置 --> 插件管理-> `springCloud` ,设置为开启。
-
-- 在`ShenYu Bootstrap`配置服务注册发现中心, 请查看 [2.3 在ShenYu Bootstrap配置SpringCloud](#2.3 
在ShenYu Bootstrap配置SpringCloud)
-
-#### 2.6.2.3 选择器配置
-
-![](/img/shenyu/plugin/springcloud/selector_zh_2.png)
-
-如果你想使用未注册到ShenYu的灰度流量,你必须配置灰度流量相关的配置
-
-![](/img/shenyu/plugin/springcloud/gray_zh_2.png)
-
-#### 2.6.2.4 规则配置
-
-![](/img/shenyu/plugin/springcloud/rule_zh.png)
-
-你必须在规则配置中配置`path`字段,`path`字段为你的服务uri,例如:`/springcloud/new/feature/gateway/not`,
 `timeout`为你的服务允许的超时时间。
-
-#### 2.6.2.5 通过配置访问未注册的服务
-
-##### 2.6.2.5.1 在请求头使用 `rpc_type`字段进行访问
-
-```
-### shengyu getway proxy not support
-POST http://localhost:9195/springcloud/new/feature/gateway/not
-Accept: application/json
-Content-Type: application/json
-rpc_type: springCloud
-```
-
-##### 2.6.2.5.2 在ShenYuAdmin 添加元信息
-
-![](/img/shenyu/plugin/springcloud/springcloud_metadata_zh.png)
-
-#### 2.6.2.6 请求服务并且验证结果
-
-![](/img/shenyu/plugin/springcloud/springcloud-request-unregistered.png)
-
-
-# 3. 如何禁用插件
-
-- 在 `shenyu-admin` --> 基础配置 --> 插件管理-> `springCloud` ,设置为关闭。
+![](/img/shenyu/quick-start/springcloud/springCloud-dynamic-register-operate-v2.png)
diff --git 
a/i18n/zh/docusaurus-plugin-content-docs/current/quick-start/quick-start-springcloud.md
 
b/i18n/zh/docusaurus-plugin-content-docs/current/quick-start/quick-start-springcloud.md
index 878538adc2..acc011c8af 100644
--- 
a/i18n/zh/docusaurus-plugin-content-docs/current/quick-start/quick-start-springcloud.md
+++ 
b/i18n/zh/docusaurus-plugin-content-docs/current/quick-start/quick-start-springcloud.md
@@ -9,118 +9,27 @@ description: Spring Cloud快速开始
 
 请参考运维部署的内容,选择一种方式启动`shenyu-admin`。比如,通过 [本地部署](../deployment/deployment-local) 
启动`Apache ShenYu`后台管理系统。
 
-启动成功后,需要在基础配置`->`插件管理中,把`springCloud` 插件设置为开启。
-
-<img src="/img/shenyu/quick-start/springcloud/springCloud-plugin-enable.png" 
width="60%" height="50%" />
-
-
 启动网关,如果是通过源码的方式,直接运行`shenyu-bootstrap`中的`ShenyuBootstrapApplication`。
 
-> 注意,在启动前,请确保网关已经引入相关依赖。
-
-引入网关对`Spring Cloud`的代理插件,并添加相关注册中心依赖:
-
-```xml
-<!-- apache shenyu springCloud plugin start-->
-               <dependency>
-                    <groupId>org.apache.shenyu</groupId>
-                    
<artifactId>shenyu-spring-boot-starter-plugin-springcloud</artifactId>
-                    <version>${project.version}</version>
-                </dependency>
-
-                <dependency>
-                    <groupId>org.springframework.cloud</groupId>
-                    <artifactId>spring-cloud-commons</artifactId>
-                    <version>2.2.0.RELEASE</version>
-                </dependency>
-
-                <dependency>
-                    <groupId>org.apache.shenyu</groupId>
-                    
<artifactId>shenyu-spring-boot-starter-plugin-httpclient</artifactId>
-                    <version>${project.version}</version>
-                </dependency>
-        <!-- springCloud if you config register center is eureka please 
dependency end-->
-                <dependency>
-                    <groupId>org.springframework.cloud</groupId>
-                    
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
-                    <version>2.2.0.RELEASE</version>
-                </dependency>
-        <!-- apache shenyu springCloud plugin end-->
+## 启动顺序
+
+- 启动`shenyu-admin`
+- 启动`shenyu-bootstrap`
+- 启动注册中心,例如`shenyu-examples`下的`eureka`项目
+- 配置 `shenyu-examples-springcloud` 注册发现
+
+```yaml
+shenyu:
+  discovery:
+    enable: true
+    type: eureka
+    serverList: ${eureka.client.serviceUrl.defaultZone}
+    registerPath: ${spring.application.name}
+    props:
+      nacosNameSpace: ShenyuRegisterCenter
 ```
 
-`eureka`配置信息如下:
-
-```yml
-eureka:
-  client:
-    serviceUrl:
-      defaultZone: http://localhost:8761/eureka/
-  instance:
-    prefer-ip-address: true
-```
-
-特别注意: 请保证`springCloud`注册中心服务发现配置为开启
-
-* 配置方式
-
-```yml
-spring:
-  cloud:
-    discovery:
-      enabled: true
-```
-
-* 代码方式
-
-```java
-@SpringBootApplication
-@EnableDiscoveryClient
-public class ShenyuBootstrapApplication {
-    
-    /**
-     * Main Entrance.
-     *
-     * @param args startup arguments
-     */
-    public static void main(final String[] args) {
-        SpringApplication.run(ShenyuBootstrapApplication.class, args);
-    }
-}
-```
-
-启动`shenyu-bootstrap`项目。
-
-## 在admin侧配置注册中心相关信息
-
-- 目前Shenyu 上的 SpringCloudPlugin 
插件实现了对注册中心的服务发现的支持。但是无法做到动态切换注册中心。为了能让使用者更加清晰的使用该插件,以及能更便捷的切换注册中心的配置,shenyu支持开发者在admin页面上配置注册中心以及切换注册中心,从而降低用户的使用成本,以及使用体验。
-
-具体操作流程:
-
-- 启动shenyu-admin
-- 启动shenyu-bootstrap
-- 启动注册中心,例如shenyu-examples下的eureka项目
-- 启动shenyu-examples下的shenyu-examples-springcloud
-- 在admin的系统界面上配置注册中心的相关信息,并点击确认
-
-以eureka注册中心配置举例,来展示如何在页面上配置注册中心相关信息:
-
-<img 
src="/img/shenyu/quick-start/springcloud/springCloud-dynamic-register-operate.png"
 width="60%" height="50%" />
-
-如上图,registerType表示注册中心类型,支持以下注册中心:
-
-- eureka
-- nacos
-- zookeeper
-- apollo
-- consul
-- etcd
-- polaris
-- kubernetes
-
-serverLists表示注册中心ip地址,props则是放置注册中心的额外配置项,例如namespace、username等。 
点击确认后,即使用eureka作为springCloudPlugin的注册中心。
-
-
-## 运行shenyu-examples-springcloud
+## 运行 `shenyu-examples-springcloud`
 
 示例项目中我们使用 `eureka` 作为 `Spring Cloud`的注册中心。你可以使用本地的`eureka`,也可以使用示例中提供的应用。
 
@@ -130,8 +39,6 @@ serverLists表示注册中心ip地址,props则是放置注册中心的额外
 
 启动`spring 
cloud`服务,运行`org.apache.shenyu.examples.springcloud.ShenyuTestSpringCloudApplication`main方法启动项目。
 
-从`2.4.3`开始,用户可以不配置`shenyu.client.springCloud.props.port`。
-
 成功启动会有如下日志:
 
 ```shell
@@ -170,12 +77,13 @@ serverLists表示注册中心ip地址,props则是放置注册中心的额外
 2021-02-10 14:03:54.231  INFO 2860 --- [           main] 
o.d.s.e.s.ShenyuTestSpringCloudApplication : Started 
ShenyuTestSpringCloudApplication in 6.338 seconds (JVM running for 7.361) 
 ```
 
+- 启动 `shenyu-examples-springcloud` 之后
+- 在admin的系统的`divide`插件上即可看到刚注册上来的数据
 
-## 测试Http请求
 
-`shenyu-examples-springcloud`项目成功启动之后会自动把加 `@ShenyuSpringCloudClient` 
注解的接口方法注册到网关。
+## 测试Http请求
 
-打开`插件列表 -> rpc proxy -> springCloud` 可以看到插件规则配置列表:
+`shenyu-examples-springcloud`项目成功启动之后会自动把加 `@ShenyuSpringMvcClient` 
注解的接口方法注册到网关。
 
 
 ![](/img/shenyu/quick-start/springcloud/rule-list.png)
diff --git 
a/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/proxy/spring-cloud-proxy.md
 
b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/proxy/spring-cloud-proxy.md
index a08b0fceef..b335de8e2a 100644
--- 
a/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/proxy/spring-cloud-proxy.md
+++ 
b/i18n/zh/docusaurus-plugin-content-docs/current/user-guide/proxy/spring-cloud-proxy.md
@@ -4,302 +4,11 @@ keywords: ["Spring Cloud"]
 description: SpringCloud接入ShenYu网关
 ---
 
-此篇文章是介绍 `springCloud` 服务接入到 `Apache ShenYu` 网关,`Apache ShenYu` 网关使用 
`springCloud` 插件来接入`Spring Cloud`服务。
+# 移除提醒
 
-接入前,请正确启动 
`shenyu-admin`,并开启`springCloud`插件,在网关端和`springCloud`服务端引入相关依赖。可以参考前面的 [Spring 
Cloud快速开始](../../quick-start/quick-start-springcloud)。
+- 从这个版本起。不再使用单独的 `spring-cloud-plugin` 对 `spring-cloud` 进行支持
+- 对 `springcloud 注册中心` 的功能集成到 `divide` 插件的 `discovery` 中,
+- 请参考 `shenyu-examples-springcloud` 来接入 `bootstrap`
 
-应用客户端接入的相关配置请参考:[客户端接入配置](../property-config/register-center-access.md)。
+![](/img/shenyu/quick-start/springcloud/springCloud-dynamic-register-operate-v2.png)
 
-数据同步的相关配置请参考:[数据同步配置](../property-config/use-data-sync.md)。
-
-## 在网关中引入 springCloud 插件
-
-* 在网关的 `pom.xml` 文件中引入如下依赖。
-
-```xml
-  <!-- apache shenyu springCloud plugin start-->
-  <dependency>
-       <groupId>org.apache.shenyu</groupId>
-       <artifactId>shenyu-spring-boot-starter-plugin-springcloud</artifactId>
-        <version>${project.version}</version>
-  </dependency>
-
-  <dependency>
-       <groupId>org.apache.shenyu</groupId>
-       <artifactId>shenyu-spring-boot-starter-plugin-httpclient</artifactId>
-       <version>${project.version}</version>
-   </dependency>
-   <!-- apache shenyu springCloud plugin end-->
-
-   <dependency>
-        <groupId>org.springframework.cloud</groupId>
-        <artifactId>spring-cloud-commons</artifactId>
-        <version>2.2.0.RELEASE</version>
-   </dependency>
-```
-
-* 如果你使用 `eureka` 作为 `springCloud`的注册中心
-
-  * 在网关的`pom.xml`文件中,新增如下依赖:
-
- ```xml
-   <dependency>
-        <groupId>org.springframework.cloud</groupId>
-        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
-        <version>2.2.0.RELEASE</version>
-   </dependency>
-   ```
-
-* 在网关的`yml`文件中,新增如下配置:
-
- ```yaml
-    eureka:
-      client:
-        serviceUrl:
-          defaultZone: http://localhost:8761/eureka/ # 你的eureka地址
-      instance:
-        prefer-ip-address: true
-   ```
-
-* 如果你使用 `nacos` 作为 `springCloud`的注册中心
-
-  * 在网关的`pom.xml`文件中,新增如下依赖:
-
- ```xml
-  <dependency>
-        <groupId>com.alibaba.cloud</groupId>
-        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
-        <version>2.1.0.RELEASE</version>
-  </dependency>
-   ```
-
-* 在网关的`yml`文件中 新增如下配置:
-
- ```yaml
-   spring:
-      cloud:
-        nacos:
-          discovery:
-             server-addr: 127.0.0.1:8848 # 你的nacos地址
-   ```
-
-特别提示:请确保spring Cloud注册中心服务发现配置开启
-
-* 配置方式
-
-```yml
-spring:
-  cloud:
-    discovery:
-      enabled: true
-```
-
-* 代码方式
-
-```java
-@SpringBootApplication
-@EnableDiscoveryClient
-public class ShenyuBootstrapApplication {
-    
-    /**
-     * Main Entrance.
-     *
-     * @param args startup arguments
-     */
-    public static void main(final String[] args) {
-        SpringApplication.run(ShenyuBootstrapApplication.class, args);
-    }
-}
-```
-
-* 重启你的网关服务。
-
-## SpringCloud服务接入网关
-
-可以参考:[shenyu-examples-springcloud](https://github.com/apache/shenyu/tree/master/shenyu-examples/shenyu-examples-springcloud)
-
-
-* 在由`SpringCloud`构建的微服务中,引入如下依赖:
-
-```xml
- <dependency>
-      <groupId>org.apache.shenyu</groupId>
-      <artifactId>shenyu-spring-boot-starter-client-springcloud</artifactId>
-      <version>${shenyu.version}</version>
- </dependency>
-```
-
-
-* 在 `controller`接口上加上 `@ShenyuSpringCloudClient` 注解。 
注解可以加到类或方法上面,`path`属性为前缀,如果含有 `/**` 代表你的整个接口需要被网关代理。
-
-* 示例一:
-  代表 `/test/payment`, `/test/findByUserId` 都会被网关代理。
-
-```java
-  @RestController
-  @RequestMapping("/test")
-  @ShenyuSpringCloudClient(path = "/test/**")
-  public class HttpTestController {
-
-      @PostMapping("/payment")
-      public UserDTO post(@RequestBody final UserDTO userDTO) {
-          return userDTO;
-      }
-
-      @GetMapping("/findByUserId")
-      public UserDTO findByUserId(@RequestParam("userId") final String userId) 
{
-          UserDTO userDTO = new UserDTO();
-          userDTO.setUserId(userId);
-          userDTO.setUserName("hello world");
-          return userDTO;
-      }
-   }
-```
-
-
-* 示例二:
-  代表 `/order/save`,会被网关代理,而`/order/findById` 则不会。
-
-```java
-  @RestController
-  @RequestMapping("/order")
-  @ShenyuSpringCloudClient(path = "/order")
-  public class OrderController {
-
-      @PostMapping("/save")
-      @ShenyuSpringMvcClient(path = "/save")
-      public OrderDTO save(@RequestBody final OrderDTO orderDTO) {
-          orderDTO.setName("hello world save order");
-          return orderDTO;
-      }
-
-      @GetMapping("/findById")
-      public OrderDTO findById(@RequestParam("id") final String id) {
-          OrderDTO orderDTO = new OrderDTO();
-          orderDTO.setId(id);
-          orderDTO.setName("hello world findById");
-          return orderDTO;
-      }
-  }
-```
-
-
-* 示例三:
-  `isFull`:`true`  代表整个服务都会被网关代理。
-
-```yaml
-shenyu:
-  register:
-    registerType: http #zookeeper #etcd #nacos #consul
-    serverLists: http://localhost:9095 #localhost:2181 #http://localhost:2379 
#localhost:8848
-    props:
-      username: admin
-      password: 123456
-  client:
-    springCloud:
-      props:
-        contextPath: /springcloud
-        isFull: true
-#        port: 8884
-# registerType : 服务注册类型,请参考应用客户端接入文档
-# serverList: 服务列表,请参考应用客户端接入文档
-# contextPath: 为你的项目在shenyu网关的路由前缀。 比如/order ,/product 等等,网关会根据你的这个前缀来进行路由。
-# appName:你的应用名称,不配置的话,会默认取application 中的名称
-# isFull: 设置true 代表代理你的整个服务,false表示代理你其中某几个controller
-```
-
- ```java
-  @RestController
-  @RequestMapping("/order")
-  public class OrderController {
-
-      @PostMapping("/save")
-      @ShenyuSpringMvcClient(path = "/save")
-      public OrderDTO save(@RequestBody final OrderDTO orderDTO) {
-          orderDTO.setName("hello world save order");
-          return orderDTO;
-      }
-
-      @GetMapping("/findById")
-      public OrderDTO findById(@RequestParam("id") final String id) {
-          OrderDTO orderDTO = new OrderDTO();
-          orderDTO.setId(id);
-          orderDTO.setName("hello world findById");
-          return orderDTO;
-      }
-  }
-```
-
-
-* 示例四:这是一种简化的使用方式,只需要一个简单的注解,使用元数据注册到网关。
-特别说明:目前只支持`@RequestMapping、@GetMapping、@PostMapping、@DeleteMapping、@PutMapping`注解,并且只对`@XXXMapping`中的第一个路径有效。
-
-```java
-  @RestController
-  @RequestMapping("new/feature")
-  public class NewFeatureController {
-  
-    /**
-     * no support gateway access api.
-     *
-     * @return result
-     */
-    @RequestMapping("/gateway/not")
-    public EntityResult noSupportGateway() {
-      return new EntityResult(200, "no support gateway access");
-    }
-  
-    /**
-     * Do not use shenyu annotation path. used request mapping path.
-     *
-     * @return result
-     */
-    @RequestMapping("/requst/mapping/path")
-    @ShenyuSpringCloudClient
-    public EntityResult requestMappingUrl() {
-      return new EntityResult(200, "Do not use shenyu annotation path. used 
request mapping path");
-    }
-  
-    /**
-     * Do not use shenyu annotation path. used post mapping path.
-     *
-     * @return result
-     */
-    @PostMapping("/post/mapping/path")
-    @ShenyuSpringCloudClient
-    public EntityResult postMappingUrl() {
-      return new EntityResult(200, "Do not use shenyu annotation path. used 
post mapping path");
-    }
-  
-    /**
-     * Do not use shenyu annotation path. used post mapping path.
-     *
-     * @return result
-     */
-    @GetMapping("/get/mapping/path")
-    @ShenyuSpringCloudClient
-    public EntityResult getMappingUrl() {
-      return new EntityResult(200, "Do not use shenyu annotation path. used 
get mapping path");
-    }
-  }
-
-```
-
-* 启动你的服务成功注册后,进入后台管理系统的`插件列表 -> rpc proxy -> springCloud`,会看到自动注册的选择器和规则信息。
-
-
-## 用户请求
-
-和之前的访问方式没有大的改变,需要注意的是:
-
-* 你之前请求的域名是你自己的服务,现在要换成网关的域名。
-
-* 网关需要有一个路由前缀,这个路由前缀就是你接入项目进行配置 `contextPath`,可以在 `shenyu-admin` 中的 
`springCloud`插件进行更改。
-
-> 比如你有一个 `order` 服务 它有一个接口,请求路径 `http://localhost:8080/test/save`
->
-> 现在就需要换成:`http://localhost:9195/order/test/save`
->
-> 其中 `localhost:9195` 为网关的 `ip` 端口,默认端口是 `9195` ,`/order` 是你接入网关配置的 
`contextPath`
->
-> 其他参数,请求方式不变。然后你就可以进行访问了,如此的方便与简单。
diff --git 
a/static/img/shenyu/quick-start/springcloud/springCloud-dynamic-register-operate-en-v2.png
 
b/static/img/shenyu/quick-start/springcloud/springCloud-dynamic-register-operate-en-v2.png
new file mode 100644
index 0000000000..1a68faae50
Binary files /dev/null and 
b/static/img/shenyu/quick-start/springcloud/springCloud-dynamic-register-operate-en-v2.png
 differ
diff --git 
a/static/img/shenyu/quick-start/springcloud/springCloud-dynamic-register-operate-v2.png
 
b/static/img/shenyu/quick-start/springcloud/springCloud-dynamic-register-operate-v2.png
new file mode 100644
index 0000000000..1a68faae50
Binary files /dev/null and 
b/static/img/shenyu/quick-start/springcloud/springCloud-dynamic-register-operate-v2.png
 differ

Reply via email to