Spring cloud gateway整合Sentinel实现限流与熔断

Spring cloud gateway整合Sentinel实现限流与熔断

  • 搭建Sentinel控制台
      • 获取 Sentinel 控制台
      • 启动控制台
  • 客户端接入控制台
      • 添加依赖
      • 添加RouteConfig
      • 配置application.yml
      • 启动客户端

搭建Sentinel控制台

获取 Sentinel 控制台

可以从release 页面下载最新版本的控制台 jar 包。

启动控制台

使用如下命令启动控制台:

java -Dserver.port=8080 -jar sentinel-dashboard.jar

其中 -Dserver.port=8080 用于指定 Sentinel 控制台端口为 8080。
默认用户名和密码都是 sentinel
Spring cloud gateway整合Sentinel实现限流与熔断_第1张图片

客户端接入控制台

添加依赖

在pom.xml添加以下依赖

<!-- sentinel -->
# 该依赖提供了sentinel对spring cloud gateway框架的适配
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-spring-cloud-gateway-adapter</artifactId>
<version>1.7.1</version>
</dependency>
# 没添加该依赖的话不能从application配置文件配置sentinel
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
# 连接sentinel控制台
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-transport-simple-http</artifactId>
<version>1.7.1</version>
</dependency>

<!-- sentinel end -->

添加RouteConfig

@Configuration
public class RouteConfig {
    @Bean
    public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
        return builder.routes()
                .route("demo2", p ->
                        p.path("/demo222/**")
                        .uri("lb://demo2")
                  ).build();
    }
}

配置application.yml

spring:
	cloud:
		sentinel:
			transport:
				dashboard: localhost:8080

通过spring.cloud.sentinel.transport.dashboard指定控制台地址

启动客户端

启动客户端后请求之前配置的路由,再去刷新控制台页面,就会看到客户端与控制台连接成功。在控制台可以为指定路由配置限流与熔断规则。

你可能感兴趣的:(Java)