Soul源码分析 —— 代理Spring Cloud服务
网关需要引入的依赖
<!--soul springCloud plugin start-->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-plugin-springcloud</artifactId>
<version>${last.version}</version>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-plugin-httpclient</artifactId>
<version>${last.version}</version>
</dependency>
<!--soul springCloud plugin end-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-commons</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
网关需要配置的环境参数
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/ # 你的eureka地址
instance:
prefer-ip-address: true
服务端需要引入的依赖
org.dromara soul-spring-boot-starter-client-springcloud ${last.version}服务端需要配置的环境参数
soul:
springcloud:
admin-url: http://localhost:9095
context-path: /springcloud
full: true
启动应用
启动顺序是
- SoulAdminBootstrap
- EurekaServerApplication
- SoulTestSpringCloudApplication
- SoulBootstrapApplication
测试
LOG
2021-01-20 06:14:36.463 INFO 56749 --- [-work-threads-4] o.d.s.plugin.httpclient.WebClientPlugin : The request urlPath is http://xiaolongs-mbp:8884/order/findById, retryTimes is 0
2021-01-20 06:14:40.781 INFO 56749 --- [-work-threads-6] o.d.soul.plugin.base.AbstractSoulPlugin : springCloud selector success match , selector name :/springcloud
2021-01-20 06:14:40.782 INFO 56749 --- [-work-threads-6] o.d.soul.plugin.base.AbstractSoulPlugin : springCloud rule success match , rule name :/springcloud/**
小结
今天只是把soul spring-cloud的代理跑通并简单测试了一下。下章看代码。