Sentinel 简单使用
文章目录
- 一、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 简单使用相关推荐
- Spring Cloud Alibaba (三)Sentinel 简单介绍和使用
前言 随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从流量控制.熔断降级.系统自适应保护等多个维度来帮助您保障微服务 ...
- Redis Sentinel 模拟故障迁移
什么是redis sentinel 参考文档:https://redis.io/topics/sentinel 简单的来说,就是Redis Sentinel 为redis 提供高可用性,主要体现在下面 ...
- OpenFeign 简单使用
文章目录 一.源码简单分析 1.导入依赖 2.自动导入类 3.OkHttpFeignLoadBalancedConfiguration 类 4.DefaultFeignLoadBalancedConf ...
- SpringCloud 第八期 Sentinel 熔断限流
sentinel可以作为监控平台使用,下载jar包运行 官网说明文档,有中文 Wiki - Gitee.com sentinel下载地址 https://github.com/alibaba/Sent ...
- SpringCloudAlibabaSentinel入门教程
阿里Sentinel入门教程 https://www.it610.com/article/1294173596180094976.htm 最近在学习阿里系的微服务组件,读了很多关于sentinel的文 ...
- Spring Cloud Alibaba 学习笔记
官方地址:https://spring.io/projects/spring-cloud-alibaba github:https://github.com/alibaba/spring-cloud- ...
- Sentinel实现限流,竟是如此的简单!
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:https://tianyalei.blog.csd ...
- 阿里开源Sentinel流控框架基本介绍与简单使用
作者:未完成交响曲,资深Java工程师!目前在某一线互联网公司任职,架构师社区合伙人! 一.简介 1. Sentinel 是什么? Sentinel是去年7月由阿里中间件团队开源的,面向分布式服务架构 ...
- Redis、Redis+sentinel安装(Ubuntu 14.04下Redis安装及简单测试)
Ubuntu下Redis安装两种安装方式: 1.apt-get方式 步骤: 以root权限登录,切换到/usr目录下. 接下来输入命令,apt-get install redis-server,如图: ...
最新文章
- 怎样理解雷达的相参与非相参
- 科学院和工程院公布188名新院士!外籍占比26%,中科院北大清华38人,阿里王坚当选...
- c语言 蓝屏,C:WINDOWSMinidump文件 导致蓝屏请问是什么問題呢?
- Redis Zrevrangebyscore 命令
- eureka自我保护时间_阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默...
- 深入理解python中的select模块
- Win7无线网络和有线网络网络负载选择
- 关于 std::set/std::map 的几个为什么
- APUE读书笔记-04文件和目录(1)
- Eclipse启动时指定jdk版本
- Spectra Logic磁带库成SGI方案中标准化产品
- LNMP详解(六)——Nginx location语法详解
- 简单瀑布流-jquery实现
- 如何实现单行/多行文本溢出的省略样式?
- 学习单片机必须要学的八大知识点,你知道吗?
- css html5 css3
- [机器学习-5]岭回归及python实现(Ridge Regression)
- 微信.NET:开源的ASP.NET微信公众号应用平台 .
- 计算机绘图c2是什么,Cad里c2表示(cad中C1(C2)这样的符号是什么意思)
- JAVA实现功能的方法
热门文章
- UOJ Test Round 1
- 抓取虎扑王者荣耀板块最近十页帖子,2.5W回帖数据 ,来看看JR们都有哪些有趣的信息
- SAP EPIC 银企直连二次开发成功案例 电子支付集成 欢迎交流探讨
- [Mysql] LENGTH函数
- Python基础学习3——列表
- Vczh Library++3.0实现二进制模板函数
- @Transactional注解
- The baby-bust economy “婴儿荒”经济 | 经济学人20230603版社论双语精翻
- javascript绘制股票走势图
- LeetCode 51. N 皇后、52. N 皇后 II