gateway集成sentinel网关限流

2022-07-25,,,

一、添加依赖

1.1 添加网关限流依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-sentinel-gateway</artifactId>
    <version>2.1.2.RELEASE</version>
</dependency>

1.2 添加支持控制台依赖

<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-transport-simple-http</artifactId>
    <version>1.7.1</version>
</dependency>

划重点!!!这里有一个坑要注意:
网关限流的依赖和控制台的依赖版本号一定要对应,否则控制台无法检测到网关应用。

二、添加网关配置类

@Configuration
public class GatewayConfiguration {

    private final List<ViewResolver> viewResolvers;
    private final ServerCodecConfigurer serverCodecConfigurer;

    public GatewayConfiguration(ObjectProvider<List<ViewResolver>> viewResolversProvider,
                                ServerCodecConfigurer serverCodecConfigurer) {
        this.viewResolvers = viewResolversProvider.getIfAvailable(Collections::emptyList);
        this.serverCodecConfigurer = serverCodecConfigurer;
    }

    @Bean
    @Order(Ordered.HIGHEST_PRECEDENCE)
    public SentinelGatewayBlockExceptionHandler sentinelGatewayBlockExceptionHandler() {
        // Register the block exception handler for Spring Cloud Gateway.
        return new SentinelGatewayBlockExceptionHandler(viewResolvers, serverCodecConfigurer);
    }

    @Bean
    @Order(-1)
    public GlobalFilter sentinelGatewayFilter() {
        return new SentinelGatewayFilter();
    }
 }

三、application.properties里添加配置

spring.main.allow-bean-definition-overriding=true

四、添加启动参数

-Dcsp.sentinel.app.type=1
-Dcsp.sentinel.dashboard.server=localhost:8849
-Dproject.name=gateway-sentinel

本文地址:https://blog.csdn.net/weixin_43126355/article/details/111987260

《gateway集成sentinel网关限流.doc》

下载本文的Word格式文档,以方便收藏与打印。