Sentinel 结合 GateWay 限流

微信公众号:运维开发故事,作者:郑哥

Sentinel 不仅仅可以可以作用于服务之间,还可以完美的和服务网关 GateWay 或者 Zuul 一起使用来对网关实现流控。从 1.6.0 版本开始,Sentinel 提供了 Spring Cloud Gateway 的适配模块,可以提供两种资源维度的限流:

  • route 维度:即在 Spring 配置文件中配置的路由条目,资源名为对应的 routeId。

  • 自定义 API 维度:用户可以利用 Sentinel 提供的 API 来自定义一些 API 分组。

引入依赖

使用时需引入以下模块(以 Maven 为例):

<dependency>
  <groupId>com.alibaba.csp</groupId>
  <artifactId>sentinel-spring-cloud-gateway-adapter</artifactId>
</dependency>

YML 配置

需要配置 sentinel 的控制台地址,用来同步规则配置信息;还有就是需要配置 Nacos 来获取服务列表;还有就是配置服务网关的路由信息。

server:
  port: 2001
spring:
  application:
    name: gateway-service
  profiles:
    active: dev
  cloud:
    # 注册中心
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
    # 流控配置
    sentinel:
      transport:
        port: 8719
        dashboard: localhost:8080
      # 降级策略
      scg:
        fallback:
          mode: response
          response-status: 426
          response-body: error request
    # 网关配置
    gateway:
          routes:
            - id: stock_route
              uri: lb://stock-service
              predicates:
                - Path=/stock/**

启动网关

在 API Gateway 端,用户只需要在原有启动参数的基础上添加如下启动参数即可标记应用为 API Gateway 类型:

-Dcsp.sentinel.app.type=1

配置流控规则

我们可以在 Sentinel 的管理后台对我们之前添加的 stock_route 增加流控规则配置

图片

总结

我们通过Sentinel 和 Gateway 的整合,我们可以轻松的设置一个服务集群,或者多个服务的访问入口流量控制。

此处只是简单的实现了错误信息的返回,对于自定义异常信息的处理,以及更多的生产复杂情况,我们更多的是和结合 Sentinel 本身提供的一些功能来响应实际问题,以及结合设计者的设计思想,我们可以通过修改源码或者在拓展点进行拓展来让 Sentinel 更好的服务于我们的生产。

参考

https://github.com/alibaba/Sentinel/wiki

公众号:运维开发故事

github:https://github.com/orgs/sunsharing-note/dashboard

爱生活,爱运维

如果你觉得文章还不错,就请点击右上角选择发送给朋友或者转发到朋友圈。您的支持和鼓励是我最大的动力。喜欢就请关注我吧~

图片

扫码二维码

关注我,不定期维护优质内容

温馨提示

如果你喜欢本文,请分享到朋友圈,想要获得更多信息,请关注我。

                                          ........................
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值