alibabaCloud微服务篇之搭建sentinel

 原创   
营养快线送你 2024-07-07 后端结构
0 0 0 166

springcloud使用sentinel文档:https://github.com/alibaba/spring-cloud-alibaba/wiki/Sentinel

问题:sentinel是工作原理

1、首先下载sentinel jar包

2、启动命令

nohup java -Dserver.port=8070 -Dcsp.sentinel.dashboard.server=192.168.5.13:8070 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.6.1.jar > /dev/null 2>&1 &

默认是8080端口,启动后默认密码是sentinel   sentinel,正式上应该考虑修改密码

3、在需要的微服务上(客户端)进行整合

加入依赖:

<!-- sentinel限流-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>

配置文件上加上:

spring:
  cloud:
    sentinel:
      transport:
        port: 8719
        dashboard: 192.168.5.13:8070 #和刚才启动命令设置的一样,能够访问就行

4、先访问客户端上的接口,才能在sentinel控制面板上看到客户端被关联上,然后按需进行设置流量控制或者降级或者其他功能

5、但是我们设置好之后,每次客户端进行重启,辛苦设置的规则就没了,因为sentinel默认是将设置存储在运行内存中,所以需要换种存储规则方式,官方文档:https://github.com/alibaba/Sentinel/wiki/%E5%9C%A8%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Sentinel

6、我是和nacos搭配,所以存储在nacos上,本来想通过nacos和sentinel双向互通(sentinel设置规则可存储在nacos,nacos设置规则可推送到sentinel)。发现双向有点麻烦,还是采用单向nacos设置推送到sentinel,毕竟我不需要太复杂的规则设置。
7.sentinel全局统一异常处理