springcloud gateway 整合 sentinel

简介

    Sentinel 主要是用于解决在大规模的微服务场景下,避免服务出现雪崩,提高服务的可用性。限流和降级是现在比较主流的手段。
    Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

使用

    接下来说一下Sentinel 与springcloud gateway 的整合 以及简单的使用,我这边是gateway 跟sentinel的整合。
  1. 下载sentinel-dashboard.jar 或者是源码自行打包
    地址:https://github.com/alibaba/Sentinel/releases
  2. 启动sentinel-dashboard
    sentinel-dashboard 也是springboot项目 用如下命令启动就可以了
    java -Dserver.port=8085 -Dcsp.sentinel.dashboard.server=localhost:8085 -Dproject.name=sentinel-dashboard -jar target/sentinel-dashboard.jar
  3. gateway项目配置依赖包
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-sentinel-gateway</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.csp</groupId>
            <artifactId>sentinel-datasource-nacos</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
            <version>2.2.2.RELEASE</version>
        </dependency> 
  1. gateway配置文件
#配置sentinel监控中心的地址
spring.cloud.sentinel.transport.dashboard=127.0.0.1:8085
#配置数据源
spring.cloud.sentinel.datasource.ds.nacos.server-addr=172.26.130.36:8848
spring.cloud.sentinel.datasource.ds.nacos.data-id=sentinel
spring.cloud.sentinel.datasource.ds.nacos.username=nacos
spring.cloud.sentinel.datasource.ds.nacos.password=nacos
spring.cloud.sentinel.datasource.ds.nacos.group-id=DEFAULT_GROUP
spring.cloud.sentinel.datasource.ds.nacos.data-type=json
spring.cloud.sentinel.datasource.ds.nacos.rule-type=degrade

#这是springcloud中配置的一个路由规则
spring.cloud.gateway.routes[0].id=web
spring.cloud.gateway.routes[0].uri=lb://api-server
spring.cloud.gateway.routes[0].predicates[0]=Path=/test/**
spring.cloud.gateway.routes[0].filters[0]=StripPrefix=1

配置完先启动控制台跟nacos ,然后启动gateway 项目

dashboard需要有调用才可以看到我们得资源节点,从而对我们得资源进行限流,熔断等操作。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容