gateway集成sentinel

一、实现背景:

在微服务横行的时代,网关犹如人之喉咙,拥有一夫当关万夫莫开之功效,也拥有成也萧何败萧何的隐患。基于此确保gateway不因具体实现服务异常带来蝴蝶效应,限流与熔断成了最近解决方案

二、整体思路:

经典三步曲(第一步:pom加依赖;第二步:配置文件做配置;第三步:编代码) + sentinel dashboard限流

三、代码实现:

1.pom.xml加依赖:

<!--sentinel依赖 配置文件链接sentinel dashboard会用到-->

<dependency>

<groupId>com.alibaba.cloud</groupId>

<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>         

</dependency>

<!--gateway集成sentinel的依赖 编码时实现SentinelGatewayFilter会用到-->

<dependency>

<groupId>com.alibaba.csp</groupId>

<artifactId>sentinel-spring-cloud-gateway-adapter</artifactId>

</dependency>


2.application.yml做配置

spring:

  cloud:

    sentinel:

      transport:

        #sentinel控制台和当前应用进行数据传递的端口号

        port: 8719

        #当前应用连接的sentinel控制台

        dashboard: 127.0.0.1:8080

3.编代码:

package com.charlie.cloudgataway.config;

import com.alibaba.csp.sentinel.adapter.gateway.sc.SentinelGatewayFilter;

import org.springframework.cloud.gateway.filter.GlobalFilter;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.core.Ordered;

import org.springframework.core.annotation.Order;

/**

* @Author: charlie

* @CreateTime: 2022/2/13

* Description: Gateway异常配置类

*/

@Configuration

public class GatewayConfig {

    @Bean

    @Order(-1)

    public GlobalFilter sentinelGatewayFilter() {

        return  new SentinelGatewayFilter();

    }   

}


四、sentinel dashboard配规则


五、效果展示:

1.集成sentinel之前

2.集成sentinel之后(访问出发sentinel dashboard规则后如下):


以上的代码是经过本人运行过的,希望对看到的您有所帮助!

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

推荐阅读更多精彩内容