分布式-Sentinel 控制台整合gateway

[官网](https://github.com/alibaba/Sentinel/wiki/%E7%BD%91%E5%85%B3%E9%99%90%E6%B5%81)

一、引入依赖

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

二、配置sentinel 监控网关

spring.cloud.sentinel.transport.dashboard=localhost:8333
spring.cloud.sentinel.transport.port=8711
spring:
  cloud:
    sentinel:
      transport:
        dashboard: localhost:8333
        port: 8719

三、启动/重启 jar 查看Sentinel控制台

java -jar sentinel-dashboard-1.8.0.jar --server.port=8333

在这里插入图片描述

四、网关统一返回json

 @Configuration
public class GatewayConfiguration {

    public GatewayConfiguration() {
        GatewayCallbackManager.setBlockHandler(new BlockRequestHandler() {
            @Override
            public Mono<ServerResponse> handleRequest(ServerWebExchange serverWebExchange, Throwable throwable) {
                Ret data = new Ret(-1, "网关流控规则被触发......");
                Mono<ServerResponse> body = ServerResponse.ok().body((Mono.just(JSON.toJSONString(data))),String.class);
                return body;
            }
        });
    }
}

版权声明:本文为qq_38058456原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。