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
单机模式,启动成功
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。