当前位置: 代码迷 >> 综合 >> 分布式-Sentinel 控制台整合gateway
  详细解决方案

分布式-Sentinel 控制台整合gateway

热度:21   发布时间:2023-12-05 11:22:47

分布式-Sentinel 控制台整合gateway

  • 一、引入依赖
  • 二、配置sentinel 监控网关
  • 三、启动/重启 jar 查看Sentinel控制台
  • 四、网关统一返回json

[官网](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:8333port: 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() {
    @Overridepublic 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;}});}
}
  相关解决方案