找回密码
 立即注册
首页 业界区 业界 Spring Boot整合Sentinel之QPS限流

Spring Boot整合Sentinel之QPS限流

疝镜泛 昨天 23:10
摘要 介绍Spring Boot 4 如何集成流量治理神器Sentinel实现QPS限流。

目录

  • Sentinel简介
  • 启动 Sentinel 控制台

    • 下载sentinel
    • 访问 Sentinel 控制台

  • 注解@SentinelResource使用方法
  • 用@SentinelResource限流
  • 统一处理Sentinel异常|done
  • 结束语
  • Reference

Sentinel简介

  什么是Sentinel?随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由/调度、流量控制、流量整形、熔断降级、系统自适应过载保护/实例摘除、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。
  同一个资源可以创建多条限流规则。Sentinel底层中的 FlowSlot 会对该资源的所有限流规则依次遍历,直到有规则触发限流或者所有规则遍历完毕。
  在实际的项目开发中,一般不会直接写类似《Spring Boot整合Sentinel之流量控制入门》中那段限流入门演示代码,通常需要将Sentinel集成到应用框架中。本文以《一步步搭建JDK 21 Spring Boot项目》搭建的Spring Boot项目为基础,展示如何将Sentinel集成到Spring Boot项目中,并基于注解 @SentinelResource 进行限流。demo中只介绍了qps限流策略,它有多种策略备选,请根据业务需要自行选定。
启动 Sentinel 控制台

  Sentinel 的使用可以分为两个部分:

  • 控制台(Dashboard):控制台主要负责管理规则推送、监控、集群限流、分配管理、机器发现等。
  • 核心库(Java 客户端):不依赖任何框架/库,能够运行于 Java 7 及以上版本的运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。
下载sentinel

  从sentinel控制台传送门下载需要的sentinel jar。
1.png

  我下载了当前最新版v1.8.9。下载后在Mac 终端进入jar包存放目录后,执行命令 java -Dserver.port=8080 -jar sentinel-dashboard-1.8.9.jar 即可启动控制台。默认端口是8080,为了避免端口好冲突,可以设置为诸如9000等。
2.png

访问 Sentinel 控制台

   在浏览器访问sentinel控制台地址http://localhost:8080或者http://127.0.0.1:8080/即可进入如下登录页面,默认账号密码都是 sentinel。恭喜你!此时此刻sentinel下载运行成功。
3.png

  Sentinel 开源控制台支持实时监控和规则管理。接入控制台的步骤如下:
  1. spring.cloud.sentinel.transport.dashboard=localhost:8080
  2. spring.cloud.sentinel.transport.heartbeat-interval-ms=500
  3. spring.cloud.sentinel.eager=true
复制代码
  配置 heartbeat-interval-ms 用于指定应用与 Sentinel 控制台之间的心跳上报间隔,单位是毫秒。配置为 500 表示

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册