文章目录

  • 一、Sentinel 概述
    • 1、Sentinel 的主要特性
    • 2、Sentinel 分为两个部分
    • 3、启动 Sentinel 控制台
  • 二、SpringCloud 生成 sentinel 客户端
    • 1、启动 Sentinel 客户端
    • 2、nacos 控制台
    • 3、Sentinel 控制台
  • 三、接入限流埋点
  • 三、模拟高并发
  • 四、URL 流控规则
    • 1、sentinel 流控测试
    • 2、自定义限流处理逻辑
      • ①、CustomUrlBlockHandler 覆盖默认处理类 DefaultBlockExceptionHandler 实现自定义限流处理逻辑
      • ②、使用 @SentinelResource 注解实现自定义限流处理逻辑
    • 3、sentinel 动态数据源配置
    • 4、限流和熔断降级同时满足
    • 5、热点参数限流
      • ①、sentinel 控制台添加热点限流规则
      • ②、测试热点参数限流
    • 6、集群限流
      • 7、黑白名单控制
  • 五、熔断降级配置
    • 1、熔断降级说明
    • 2、慢调用比例
    • 3、异常比例
    • 4、异常数
  • 六、Zuul 支持
  • 七、Gateway 支持
  • 八、Feign 支持、RestTemplate 支持
  • 九、Endpoint 信息查看

该文章主要介绍 Sentinel 概念、 springcloud 对 Sentinel 的简单使用

官方网站:https://github.com/alibaba/Sentinel/wiki/控制台

一、Sentinel 概述

Sentinel 是面向云原生微服务的流量监控,熔断降级组件。能够监控并保护你的微服务。

1、Sentinel 的主要特性

2、Sentinel 分为两个部分
  • 核心库(Java 客户端)不依赖任何框架/库,能够运行于所有 Java 运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。
  • 控制台(Dashboard)基于 Spring Boot 开发,打包后可以直接运行,不需要额外的 Tomcat 等应用容器
3、启动 Sentinel 控制台

控制台简介以及安装启动:https://github.com/alibaba/Sentinel/wiki/控制台

jar 启动下载地址:https://github.com/alibaba/Sentinel/releases

源码构建:使用 maven 命令 mvn clean package 构建 Sentinel 源码

启动控制台:java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar

其中 -Dserver.port=8080 用于指定 Sentinel 控制台端口为 8080。Sentinel 控制台引入基本的登录功能,默认用户名和密码都是 sentinel

控制台其他可配置参数

配置项 类型 默认值 最小值 描述
auth.enabled boolean true - 是否开启登录鉴权,仅用于日常测试,生产上不建议关闭
sentinel.dashboard.auth.username String sentinel - 登录控制台的用户名,默认为 sentinel
sentinel.dashboard.auth.password String sentinel - 登录控制台的密码,默认为 sentinel
sentinel.dashboard.app.hideAppNoMachineMillis Integer 0 60000 是否隐藏无健康节点的应用,距离最近一次主机心跳时间的毫秒数,默认关闭
sentinel.dashboard.removeAppNoMachineMillis Integer 0 120000 是否自动删除无健康节点的应用,距离最近一次其下节点的心跳时间毫秒数,默认关闭
sentinel.dashboard.unhealthyMachineMillis Integer 60000 30000 主机失联判定,不可关闭
sentinel.dashboard.autoRemoveMachineMillis Integer 0 300000 距离最近心跳时间超过指定时间是否自动删除失联节点,默认关闭
sentinel.dashboard.unhealthyMachineMillis Integer 60000 30000 主机失联判定,不可关闭
server.servlet.session.cookie.name String sentinel_dashboard_cookie - 控制台应用的 cookie 名称,可单独设置避免同一域名下 cookie 名冲突

jar 包启动命令(云服务器需要放开端口号,window cmd 换行可以使用 ^)

java -Dserver.port=28080\-Dcsp.sentinel.dashboard.server=localhost:28080\-Dproject.name=sentinel-dashboard\-Dauth.enabled=true\-Dsentinel.dashboard.auth.username=sentinel\-Dsentinel.dashboard.auth.password=123456\-Dserver.servlet.session.timeout=7200\-jar sentinel-dashboard-1.8.4.jar

访问:http://127.0.0.1:28080/ ⭐ 用户名:密码

Sentinel 简单使用相关推荐

  1. Spring Cloud Alibaba (三)Sentinel 简单介绍和使用

    前言 随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从流量控制.熔断降级.系统自适应保护等多个维度来帮助您保障微服务 ...

  2. Redis Sentinel 模拟故障迁移

    什么是redis sentinel 参考文档:https://redis.io/topics/sentinel 简单的来说,就是Redis Sentinel 为redis 提供高可用性,主要体现在下面 ...

  3. OpenFeign 简单使用

    文章目录 一.源码简单分析 1.导入依赖 2.自动导入类 3.OkHttpFeignLoadBalancedConfiguration 类 4.DefaultFeignLoadBalancedConf ...

  4. SpringCloud 第八期 Sentinel 熔断限流

    sentinel可以作为监控平台使用,下载jar包运行 官网说明文档,有中文 Wiki - Gitee.com sentinel下载地址 https://github.com/alibaba/Sent ...

  5. SpringCloudAlibabaSentinel入门教程

    阿里Sentinel入门教程 https://www.it610.com/article/1294173596180094976.htm 最近在学习阿里系的微服务组件,读了很多关于sentinel的文 ...

  6. Spring Cloud Alibaba 学习笔记

    官方地址:https://spring.io/projects/spring-cloud-alibaba github:https://github.com/alibaba/spring-cloud- ...

  7. Sentinel实现限流,竟是如此的简单!

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:https://tianyalei.blog.csd ...

  8. 阿里开源Sentinel流控框架基本介绍与简单使用

    作者:未完成交响曲,资深Java工程师!目前在某一线互联网公司任职,架构师社区合伙人! 一.简介 1. Sentinel 是什么? Sentinel是去年7月由阿里中间件团队开源的,面向分布式服务架构 ...

  9. Redis、Redis+sentinel安装(Ubuntu 14.04下Redis安装及简单测试)

    Ubuntu下Redis安装两种安装方式: 1.apt-get方式 步骤: 以root权限登录,切换到/usr目录下. 接下来输入命令,apt-get install redis-server,如图: ...

最新文章

  1. 怎样理解雷达的相参与非相参
  2. 科学院和工程院公布188名新院士!外籍占比26%,中科院北大清华38人,阿里王坚当选...
  3. c语言 蓝屏,C:WINDOWSMinidump文件 导致蓝屏请问是什么問題呢?
  4. Redis Zrevrangebyscore 命令
  5. eureka自我保护时间_阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默...
  6. 深入理解python中的select模块
  7. Win7无线网络和有线网络网络负载选择
  8. 关于 std::set/std::map 的几个为什么
  9. APUE读书笔记-04文件和目录(1)
  10. Eclipse启动时指定jdk版本
  11. Spectra Logic磁带库成SGI方案中标准化产品
  12. LNMP详解(六)——Nginx location语法详解
  13. 简单瀑布流-jquery实现
  14. 如何实现单行/多行文本溢出的省略样式?
  15. 学习单片机必须要学的八大知识点,你知道吗?
  16. css html5 css3
  17. [机器学习-5]岭回归及python实现(Ridge Regression)
  18. 微信.NET:开源的ASP.NET微信公众号应用平台 .
  19. 计算机绘图c2是什么,Cad里c2表示(cad中C1(C2)这样的符号是什么意思)
  20. JAVA实现功能的方法

热门文章

  1. UOJ Test Round 1
  2. 抓取虎扑王者荣耀板块最近十页帖子,2.5W回帖数据 ,来看看JR们都有哪些有趣的信息
  3. SAP EPIC 银企直连二次开发成功案例 电子支付集成 欢迎交流探讨
  4. [Mysql] LENGTH函数
  5. Python基础学习3——列表
  6. Vczh Library++3.0实现二进制模板函数
  7. @Transactional注解
  8. The baby-bust economy “婴儿荒”经济 | 经济学人20230603版社论双语精翻
  9. javascript绘制股票走势图
  10. LeetCode 51. N 皇后、52. N 皇后 II