soul 网关接入 springCloud 利用
-
参考官网文档:https://dromara.org/zh-cn/doc…
-
引入相干依赖
soul-bootstrap
新增如下依赖:<!-- soul springCloud plugin start--> <dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-plugin-springcloud</artifactId> <version>2.2.1</version> </dependency> <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> <!--soul springCloud plugin start end--> <!-- springCloud if you config register center is nacos please dependency this--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.1.0.RELEASE</version> </dependency>
-
应用 nacos
作为 springCloud 的注册核心,application.yml
新增如下配置:
spring:
main:
allow-bean-definition-overriding: true
application:
name: soul-bootstrap
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
soul-examples-springcloud
新增如下依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
application.yml
增加相干配置
spring:
application:
name: springCloud-test
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
soul:
springcloud:
admin-url: http://localhost:9095
context-path: /springcloud
- springcloud 插件设置
soul-admin
插件治理中,springcloud
插件设置为开启
-
接口注册到网关
- springcloud 服务实现类的办法上加上
@SoulSpringCloudClient
注解,示意该接口办法注册到网关
- springcloud 服务实现类的办法上加上
- 先启动
nacos
,而后再启动SoulTestSpringCloudApplication
,输入日志 springCloud client register success,示意sofa
接口曾经公布到 soul 网关
测试运行
- 直连测试
拜访地址:http://localhost:8884/order/findById?id=10
- 通过网关调用
拜访地址:http://localhost:9195/springcloud/order/findById?id=10
Soul 插件的注册流程都雷同,都是通过继承 AbstractSoulPlugin
类,通过 模板办法
设计模式,循环匹配每一个插件进行注册。之前的 【Soul 源码浏览 -02】devide 插件负载平衡权重解析
文章已做了剖析,这里就不再进行剖析了。
问题
- 启动
nacos
失败
nacos 的版本为 1.3.2,启动始终失败,查看错误信息时发现第一行输入为 cluster
集群模式:
批改 bin/startup.cmd
文件,set MODE 批改为 standalone
单机模式,启动胜利