Soul网关源码探秘《四》 - Sofa/SpringCloud插件配置
配置 Sofa 插件
在 soul-admin 中开启 sofa 插件
在网关 soul-bootstrap 项目的 pom 文件中添加官方文档中指出的相关依赖。
<!-- soul sofa plugin start-->
<dependency>
<groupId>com.alipay.sofa</groupId>
<artifactId>sofa-rpc-all</artifactId>
<version>5.7.6</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-client</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-plugin-sofa</artifactId>
<version>${project.version}</version>
</dependency>
<!-- soul sofa plugin end-->
使用 brew 启动一个 zookeeper 服务,然后直接启动 soul-examples-sofa 项目。
此时启动日志中提示sofa client register success
,代表 sofa 接口已经发布到 soul 网关。
在 soul-admin 的插件管理中可以查看 sofa 接口的具体信息。
在元数据管理中可以查看 sofa 的元数据。
通过 Postman 请求http://localhost:9195/sofa/findAll
成功得到返回结果。
配置 SpringCloud 插件
启动 Nacos Server
此次使用 Nacos 作为注册中心,同时记录在 Mac 上运行 Nacos Server 的步骤。
下载安装包
下载地址:https://github.com/alibaba/nacos/releases
Mac 上启动
解压安装包后进入到 bin 目录下。使用指令启动 server。
sh startup.sh -m standalone
。
使用 ps aux | grep nacos
验证 Nacos Server 启动成功。
登录网址http://127.0.0.1:8848/nacos/#/login
可以使用后台。
启动 soul-examples-springcloud
在 soul-bootstrap 的 pom 文件中添加相关依赖。
<!--soul springCloud plugin start-->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-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.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>
在 application.yml 中添加 nacos 注册中心相关配置,重启网关服务。
在 soul-admin 后台开启 springcloud 插件。之后直接启动 soul-examples-springcloud 项目。
启动日志中提示springCloud client register success
代表配置成功。
在 postman 中请求http://localhost:9195/springcloud/order/path/1/name
成功返回结果。
总结
到目前为止,把 Soul 网关的主要插件都配置使用熟悉了一遍。接下来就主要针对网关中各个模块源码进行展开分析。