话不多说上部署步骤:
1.下载sentinel控制台源码,跟进自己的需求进行源码改造,我们一开是是想使用公司部署的Apollo进行持久化配置部署,奈何公司Apollo不支持推送,转换思路,我们将sentinel的控制台对接改成用redis进行持久化,就是在sentinel控制台设置流控及熔断等规则会存到redis里面,规则不会因为应用的重启而消失。
下载地址:https://download.youkuaiyun.com/download/yellowzh/12883180
2.改造完后打包直接在服务器进行运行部署sentinel部署
3.开始我们的重点工作:网关接入sentinel进行流控及熔断
(1)引入所需要的包
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-spring-cloud-gateway-adapter</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-redis</artifactId>
<version>1.5.2</version>
</dependency>
(2)配置yml文件
spring:
cloud:
sentinel:
transport:
dashboard: #部署的控制台地址
client-ip: #客户端地址即你应用的地址
port: #应用端口号
eager: true #这个配置是发生心跳的
filter:
enabled: false #这个是想把控制台上得到的URL资源过滤掉,可根据个人需要进行配置
(3)持久化配置项
拉取redis资源设置到内存的配置RedisDataSourceConfig
public class RedisDataSourceConfig