当前位置: 首页 > 编程笔记 >

spring cloud gateway整合sentinel实现网关限流

东方化
2023-03-14
本文向大家介绍spring cloud gateway整合sentinel实现网关限流,包括了spring cloud gateway整合sentinel实现网关限流的使用技巧和注意事项,需要的朋友参考一下

这篇文章主要介绍了spring cloud gateway整合sentinel实现网关限流,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

说明: sentinel可以作为各微服务的限流,也可以作为gateway网关的限流组件。 spring cloud gateway有限流功能,但此处用sentinel来作为替待。

说明:sentinel流控可以放在gateway网关端,也可以放在各微服务端。

1,以父工程为基础,创建子工程

2,添加pom依赖

<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-gateway</artifactId>
    </dependency>
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
    </dependency>
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-alibaba-sentinel-gateway</artifactId>
    </dependency>
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>

2,添加配置项

server:
 port: 9092
spring:
 cloud:
  nacos:
   discovery:
    register-enabled: false
    server-addr: localhost:8848
    namespace: c22e5019-0bee-43b1-b80b-fc0b9d847501
  sentinel:
   transport:
    dashboard: localhost:8080
    port: 8719
   scg:
    fallback:
     mode: response
     response-status: 455
     response-body: error!
  gateway:
   routes:
    - id: demo_route
     uri: lb://demo
     predicates:
      - Path=/demo/**
    - id: demo2_test
     uri: lb://demo2
     predicates:
      - Path=/user/**
 application:
  name: gateway-sentinel

scg.fallback为sentinel限流后的响应配置

3,启动类

@SpringBootApplication
@EnableDiscoveryClient
public class GatewaySentinelApplication {
  public static void main(String[] args) {
    
    SpringApplication.run(GatewaySentinelApplication.class, args);
  }
}

4,启动后,在sentinel控制台可以看到 gateway-sentinel 应用,可以通过控制台设置流控规则。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 概述 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 Sentinel 具有以下特征: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。 完备的实时

  • https://blog.csdn.net/xiaoyi5224765/article/details/115706271 为什么这个Sentinel的 漏桶算法 限流 RateLimiterController 的实现中: 期望时间小于当前时间 则放行, 这个代码存在并发的情况,怎么他还 is ok? 这玩意是不是不准? 没保证只有一个线程成功更新latestPassedTime。 b

  • 本文向大家介绍Springboot 整合shiro实现权限控制的方法,包括了Springboot 整合shiro实现权限控制的方法的使用技巧和注意事项,需要的朋友参考一下 Author:jeffrey Date:2019-04-08 一、开发环境: 1、mysql - 5.7 2、navicat(mysql客户端管理工具) 3、idea 2017.2 4、jdk8 5、tomcat 8.5 6、s

  • 本文向大家介绍SpringMVC整合SpringSession 实现sessiong,包括了SpringMVC整合SpringSession 实现sessiong的使用技巧和注意事项,需要的朋友参考一下 一、在pom.xml添加springSession 二、确保spring是4.3.10.RELEASE版本以上 三、applicationContext.xml文件中添加四个bean类 这样就可以

  • 我一直在读关于spring cloud gateway在我的微服务架构中实现API网关的文章。我需要阻止某些URL我一直在使用一些内部操作。但是,我已经像在Zuul中一样在gateway中使用了IgnoredServices和IgnoredPatterns,但是在Spring cloud gateway链接中没有这样的东西。我的内部API以/internal/{something}开头。 同样,我

  • 本文向大家介绍SpringBoot中整合Shiro实现权限管理的示例代码,包括了SpringBoot中整合Shiro实现权限管理的示例代码的使用技巧和注意事项,需要的朋友参考一下 之前在 SSM 项目中使用过 shiro,发现 shiro 的权限管理做的真不错,但是在 SSM 项目中的配置太繁杂了,于是这次在 SpringBoot 中使用了 shiro,下面一起看看吧 一、简介 Apache Sh