sentinel 安装和持久化
1、 镜像拉取
[root@liubj182 ~]# docker pull bladex/sentinel-dashboard:1.7.0
1.7.0: Pulling from bladex/sentinel-dashboard
4fe2ade4980c: Pull complete
5f9ef5238803: Pull complete
e4457e9392e8: Pull complete
8e1960c03cfc: Pull complete
Digest: sha256:663c6186b22728d70861dc832edf6516605f2b478db87077b88d6a6c81535c04
Status: Downloaded newer image for bladex/sentinel-dashboard:1.7.0
docker.io/bladex/sentinel-dashboard:1.7.0
2 容器创建
[root@liubj182 ~]# docker run --name liubijun_sentinel -d -p 8858:8858 bladex/sentinel-dashboard:1.7.0
bd1f44d4642678483335c9993de5b8c7930affb49b95e5b7dda81c1deeb53a64
[root@liubj182 ~]#
3 访问
http://192.168.85.182:8858/#/dashboard 默认的用户名和密码: sentinel
4 持久化
4.1 添加pom
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
4.2 写yaml
spring:
application:
name: cloudalibaba-sentinel-service
cloud:
nacos:
discovery:
server-addr: 192.168.85.182:8848
sentinel:
transport:
dashboard: 192.168.85.182:8858
port: 8719 #默认8719,假如被占用了会自动从8719开始依次+1扫描。直至找到未被占用的端口
datasource: #添加sentinel的数据源
ds1:
nacos:
server-addr: 192.168.85.182:8848
data-id: cloudalibaba-sentinel-service
group-id: DEFAULT_GROUP
data-type: json
rule-type: flow
4.3 规则json
配置格式:选择 json 选项
配置内容:
resource: 资源名称
limitApp: 来源应用
grade: 阈值类型,0表示线程,1表示QPS
count: 单机阈值
strategy: 流控模式,0表示直接,1表示关联,2表示链路
controlBehavior: 流控效果,0表示快速失败,1表示Warm Up,2表示排队等待
clusterMode: 是否集群
5 nacos 中添加流控规则
6 测试
停止sentinel后,过10s 启动sentinel。发现流控规则,还在。证明nacos同步规则到sentinel成功。
注意:目前nacos能同步规则到sentinel,但是sentinel不能同步规则到nacos
7 官方文档
https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D