1. Overview
1.1 Plugin Name
- 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 .
-
Spring Cloudclient access, please refer to: Spring Cloud Proxy .
2.1 Plugin-use procedure chart

2.2 Import pom
- Eureka Registry
<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
<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
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
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-loadbalanceras loadbalancer client, you just config loadbalance in springcloud plugin rule. if you don't config loadbalance, springcloud plugin will useroundRobinalgorithm.Before ShenYu 2.4.3(include), ShenYu use
Ribbonas loadbalancer client, you must config loadbalancer as follows.
spring:
cloud:
loadbalancer:
ribbon:
enabled: true