最新要闻
- 快消息!7000mAh超大电池比肩充电宝!华为畅享60X官宣:实用体验才是王道
- 世界快资讯:女子看电视惊现3000多秒超长广告 直呼太离谱
- 环球今亮点!国内最新快递服务满意度出炉:顺丰、京东、邮政排前三 你经常用哪家?
- 简讯:大家不看电视了?海信:电视开机率低是个伪命题
- 环球快讯:别YY失控!深圳一辆特斯拉钣喷中心破窗而出 差点掉下来:官方回应
- 韩总统府称网传美监听韩政府文件部分系伪造
- 多地现沙尘暴!中央气象台首席预报员:沙尘天气无需根治
- 英特尔锐炫A750最新驱动游戏实测:进步巨大
- 刷新认知!男子站临海近乎垂直石壁上钓鱼:网友直呼请勿模仿
- 环球新动态:世界首个“九尾狐甲鱼”化石被发现:长相奇特怪异
- 每日时讯!鑫顺看市:4.11黄金守住1980关键位,多头或再次卷土重来
- 每日热讯!男子被鱼刺卡喉硬吞饭团:结果扎穿食管
- 天天速看:力压宝马X5 理想L7交付首月狂卖8009台:稳居国内中大型SUV销量第一
- 世界热门:米其林中国回应顾客用餐后上吐下泻:非常重视消费者健康安全
- 焦点!紫光展锐首款车规级5G座舱芯片平台A7870公布:6nm加持、NPU算力媲美骁龙8155
- 全球热推荐:蓝牌要成历史?新款奔腾T90官图:全新车牌引遐想
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
微服务保护--Sentinel
- 一、雪崩问题
- 解决办法
- 二、服务保护技术的对比
- 三、安装并整合Sentinel控制台
- 四、限流规则
- 簇点链路
- 流控模式
- 流控效果
- 热点参数限流
- 五、隔离和降级
- Feign整合Sentinel
- 线程隔离
- 熔断降级
- 六、授权规则
- 七、自定义异常结果
- 八、规则持久化
- 规则管理模式
本篇博客主要是个人总结,有大致的思路逻辑,想要更加清晰的了解,下方有黑马的视频,自行观看,通俗易懂。
(资料图片)
介绍:Sentinel是阿里巴巴开源的一款微服务流量控制组件。官网地址:https://sentinelguard.io/zh-cn/index.html
特征:丰富的应用场景、完备的实时监控、广泛的开源生态、完善的 SPI 扩展点。
一、雪崩问题
解释:微服务调用链路中的某个服务故障,引起整个链路中的所有微服务都不可用,这就是雪崩。(一个服务器的Tomcat资源耗尽,导致依赖的服务全部故障)
解决办法
解决雪崩问题有四种办法如下:
- 超时处理:设定超时时间,请求超过一定时间没有响应就返回错误信息,不会无休止等待。 -- 因服务故障引起的雪崩问题
- 舱壁模式:限定每个业务能使用的线程数,避免耗尽整个tomcat的资源,因此也叫线程隔离。 -- 因服务故障
- 熔断降级:由断路器统计业务执行的异常比例,如果超出阈值则会熔断该业务,拦截访问该业务的一切请求。 -- 因服务故障
- 流量控制:限制业务访问的QPS,避免服务因流量的突增而故障。(QPS:每秒钟处理请求的数量) -- 因高并发流量导致服务故障
二、服务保护技术的对比
Sentinel的对比,Hystrix已经不维护了。具体对比如下:
** ** | Sentinel | Hystrix |
---|---|---|
隔离策略 | 信号量隔离 | 线程池隔离/信号量隔离 |
熔断降级策略 | 基于慢调用比例或异常比例 | 基于失败比率 |
实时指标实现 | 滑动窗口 | 滑动窗口(基于 RxJava) |
规则配置 | 支持多种数据源 | 支持多种数据源 |
扩展性 | 多个扩展点 | 插件的形式 |
基于注解的支持 | 支持 | 支持 |
限流 | 基于 QPS,支持基于调用关系的限流 | 有限的支持 |
流量整形 | 支持慢启动、匀速排队模式 | 不支持 |
系统自适应保护 | 支持 | 不支持 |
控制台 | 开箱即用,可配置规则、查看秒级监控、机器发现等 | 不完善 |
常见框架的适配 | Servlet、Spring Cloud、Dubbo、gRPC 等 | Servlet、Spring Cloud Netflix |
三、安装并整合Sentinel控制台
sentinel官方提供了UI控制台,方便我们对系统做限流设置。下载好的jar包,将其拷贝到一个你能记住的非中文目录,然后运行命令:
java -jar sentinel-dashboard-1.8.1.jar
,然后访问:localhost:8080 即可看到控制台页面,默认的账户和密码都是sentinel。打开在命令行的nacos的bin目录下输入
startup.cmd -m standalone
启动nacos。接着打开实用篇的代码,将yaml文件的信息做出相应的修改,这是本人的,MySQL有5和8两个版本,由于前面是匹配虚拟机里的数据库,换回MySQL5,端口3305。还有将前面的nacos地址换回localhost,还需要修改order-service的端口号,不然与sentinel的控制台端口冲突。在order-service中整合Sentinel,并且连接Sentinel的控制台。引入sentinel依赖;配置控制台地址;访问微服务的任意端点,触发sentinel监控。
四、限流规则
簇点链路
- 项目内的调用链路,链路中被监控的每个接口就是一个资源。默认情况下sentinel会监控SpringMVC的每一个端点(Endpoint),因此SpringMVC的每一个端点(Endpoint)就是调用链路中的一个资源。流控、熔断等都是针对簇点链路中的资源来设置的。
- 流控规则入门案例:给 /order/{orderId}这个资源设置流控规则,QPS不能超过 5。然后利用jemeter测试。
流控模式
添加限流规则时,点击高级选项,可以选择三种流控模式:
- 直接:统计当前资源的请求,触发阈值时对当前资源直接限流,也是默认的模式。
- 关联:统计与当前资源相关的另一个资源,触发阈值时,对当前资源限流。(满足下面条件:两个有竞争关系的资源;一个优先级较高,一个优先级较低[限流])
- 链路:统计从指定链路访问到本资源的请求,触发阈值时,对指定链路限流。(有查询订单和创建订单业务,两者都需要查询商品。针对从查询订单进入到查询商品的请求统计,并设置限流。)
流控效果
流控效果是指请求达到流控阈值时应该采取的措施,包括三种:
- 快速失败:达到阈值后,新的请求会被立即拒绝并抛出FlowException异常。是默认的处理方式。
- warm up:预热模式,对超出阈值的请求同样是拒绝并抛出异常。但这种模式阈值会动态变化,从一个较小值逐渐增加到最大阈值。(给/order/{orderId}这个资源设置限流,最大QPS为10,利用warm up效果,预热时长为5秒)
- 排队等待:让所有的请求按照先后次序排队执行,两个请求的间隔不能小于指定时长(给/order/{orderId}这个资源设置限流,最大QPS为10,利用排队的流控效果,超时时长设置为5s)
热点参数限流
- 之前的限流是统计访问某个资源的所有请求,判断是否超过QPS阈值。而热点参数限流是分别统计参数值相同的请求,判断是否超过QPS阈值。
- 案例:给/order/{orderId}这个资源添加热点参数限流,规则如下:默认的热点参数规则是每1秒请求量不超过2;给102这个参数设置例外:每1秒请求量不超过4;给103这个参数设置例外:每1秒请求量不超过10。
- 热点参数限流对默认的SpringMVC资源无效。
五、隔离和降级
限流可以尽量避免因高并发而引起的服务故障,但服务还会因为其它原因而故障。而要将这些故障控制在一定范围,避免雪崩,就要靠线程隔离(舱壁模式)和熔断降级手段了。不管是线程隔离还是熔断降级,都是对客户端(调用方)的保护。
Feign整合Sentinel
SpringCloud中,微服务调用都是通过Feign来实现的,因此做客户端保护必须整合Feign和Sentinel。
Feign整合Sentinel的步骤如下:
- 在application.yml中配置:feign.sentienl.enable=true。
- 给FeignClient编写FallbackFactory并注册为Bean。
- 将FallbackFactory配置到FeignClient
线程隔离
线程隔离有两种方式实现:
优点 | 缺点 | 场景 | |
---|---|---|---|
信号量隔离-Sentinel默认 | 轻量级,无额外开销 | 不支持主动超时 不支持异步调用 | 高频调用高扇出 |
线程池隔离 | 支持主动超时支持异步调用 | 线程的额外开销比较大 | 低扇出 |
- 案例:线程隔离(舱壁模式)-- 给 UserClient的查询用户接口设置流控规则,线程数不能超过 2。然后利用jemeter测试。
- 信号量隔离的特点:基于计数器模式,简单,开销小。
- 线程池隔离的特点:基于线程池模式,有额外开销,但隔离控制更强。
熔断降级
熔断降级是解决雪崩问题的重要手段。其思路是由断路器统计服务调用的异常比例、慢请求比例,如果超出阈值则会熔断该服务。即拦截访问该服务的一切请求;而当服务恢复时,断路器会放行访问该服务的请求。
断路器熔断策略有三种:慢调用、异常比例、异常数。
- 慢调用:业务的响应时长(RT)大于指定时长的请求认定为慢调用请求。在指定时间内,如果请求数量超过设定的最小数量,慢调用比例大于设定的阈值,则触发熔断。
- 案例:给 UserClient的查询用户接口设置降级规则,慢调用的RT阈值为50ms,统计时间为1秒,最小请求数量为5,失败阈值比例为0.4,熔断时长为5。提示:为了触发慢调用规则,我们需要修改UserService中的业务,增加业务耗时。
- 异常比例或异常数:统计指定时间内的调用,如果调用次数超过指定请求数,并且出现异常的比例达到设定的比例阈值(或超过指定异常数),则触发熔断。
- 案例:给 UserClient的查询用户接口设置降级规则,统计时间为1秒,最小请求数量为5,失败阈值比例为0.4,熔断时长为5s。
六、授权规则
授权规则可以对调用方的来源做控制,有白名单和黑名单两种方式。
- 白名单:来源(origin)在白名单内的调用者允许访问。
- 黑名单:来源(origin)在黑名单内的调用者不允许访问。
获取请求来源的接口--RequestOriginParser
。
七、自定义异常结果
默认情况下,发生限流、降级、授权拦截时,都会抛出异常到调用方。如果要自定义异常时的返回结果,需要实现BlockExceptionHandler
接口。
异常 | 说明 |
---|---|
FlowException | 限流异常 |
ParamFlowException | 热点参数限流的异常 |
DegradeException | 降级异常 |
AuthorityException | 授权规则异常 |
SystemBlockException | 系统规则异常 |
八、规则持久化
规则管理模式
Sentinel的控制台规则管理有三种模式:
- 原始模式:控制台配置的规则直接推送到Sentinel客户端,也就是我们的应用。然后保存在内存中,服务重启则丢失。
- pull模式:控制台将配置的规则推送到Sentinel客户端,而客户端会将配置规则保存在本地文件或数据库中。以后会定时去本地文件或数据库中查询,更新本地规则。
- push模式:控制台将配置规则推送到远程配置中心,例如Nacos。Sentinel客户端监听Nacos,获取配置变更的推送消息,完成本地配置更新。
推送模式 | 存储位置 | 优点 | 缺点 |
---|---|---|---|
原始模式 | 保存在内存 | 简单,无任何依赖 | 不保证一致性;规则保存在内存中,重启即消失。严重不建议用于生产环境 |
Pull 模式 | 保存在本地文件或数据库,定时去读取 | 简单,无任何依赖;规则持久化 | 不保证一致性;实时性不保证,拉取过于频繁也可能会有性能问题。 |
Push模式 | 保存在nacos,监听变更实时更新 | 规则持久化;一致性; | 引入第三方依赖 |
->微服务技术栈高级篇--微服务保护--Sentinel课程视频`
高级篇Day1-01-初识Sentinel_哔哩哔哩_bilibili
<-
记录每一个学习瞬间
关键词:
-
精彩看点:【业务自动化平台】上海道宁与UiPath致力于让每个企业、每个人都能充分利用自动化带来的成就和优势
UIPATH业务自动化平台为企业提供新的创新与操作方式,永久转变成本结构,充分发挥数字技术的潜力,使整...
来源: -
ASP.NET Post, FromBody 接参总是null 空值. Web api 前端传递是有值的,怎么回事?
遇到一个常见错误,前端Post传递data:{array:[1,2,3]},但是API接收的一直是nullAPI方法postApi([FromBody]int[]array,[F
来源: -
【新华500】新华500指数(989001)11日微跌0.07%
新华500指数(989001)11日收盘跌0 07%,报4532 85点。指数盘中最高触及4545 43点,最低触及4514 19...
来源: 精彩看点:【业务自动化平台】上海道宁与UiPath致力于让每个企业、每个人都能充分利用自动化带来的成就和优势
微服务保护--Sentinel
ASP.NET Post, FromBody 接参总是null 空值. Web api 前端传递是有值的,怎么回事?
【新华500】新华500指数(989001)11日微跌0.07%
快消息!7000mAh超大电池比肩充电宝!华为畅享60X官宣:实用体验才是王道
世界快资讯:女子看电视惊现3000多秒超长广告 直呼太离谱
环球今亮点!国内最新快递服务满意度出炉:顺丰、京东、邮政排前三 你经常用哪家?
简讯:大家不看电视了?海信:电视开机率低是个伪命题
环球快讯:别YY失控!深圳一辆特斯拉钣喷中心破窗而出 差点掉下来:官方回应
热议:希腊神话的英语典故
重试,让程序更健壮
aix系统如何查看网卡配置
模型训练与推理中为什么需要使用GPU?基本概念梳理
全球球精选!2023年最新iOS打包发布流程汇总
韩总统府称网传美监听韩政府文件部分系伪造
多地现沙尘暴!中央气象台首席预报员:沙尘天气无需根治
英特尔锐炫A750最新驱动游戏实测:进步巨大
刷新认知!男子站临海近乎垂直石壁上钓鱼:网友直呼请勿模仿
环球新动态:世界首个“九尾狐甲鱼”化石被发现:长相奇特怪异
全球第一批25个GPT模型开始自由生活
当前资讯!应用火山引擎 DataTester“避坑”,抖音实现用 A/B 实验快速试错
路由跳转及传参
每日消息!堆叠面积图的优点和缺点有哪些?
跟ChatGPT聊天、需求润色优化,禅道OpenAI 插件发布!
三星9082怎么恢复出厂设置?三星9082手机参数
索尼w570现在值多少钱?索尼w570参数
台式机怎么设置无线上网?台式机怎么调节屏幕亮度?
巧克力键盘是什么意思?巧克力键盘和机械键盘的区别是什么?
诺基亚n82上市价格是多少?诺基亚n82手机参数
每日时讯!鑫顺看市:4.11黄金守住1980关键位,多头或再次卷土重来
当前资讯![网络]应用层协议:HTTP / HTTPS
用ChatGPT问.NET的相关问题,.NET工程师的前景不错
每日热讯!男子被鱼刺卡喉硬吞饭团:结果扎穿食管
天天速看:力压宝马X5 理想L7交付首月狂卖8009台:稳居国内中大型SUV销量第一
世界热门:米其林中国回应顾客用餐后上吐下泻:非常重视消费者健康安全
焦点!紫光展锐首款车规级5G座舱芯片平台A7870公布:6nm加持、NPU算力媲美骁龙8155
全球热推荐:蓝牌要成历史?新款奔腾T90官图:全新车牌引遐想
世界新消息丨又萌又飒!池州一高校女生穿公主裙一“跑”走红
在寻找 LastPass 的更好替代品吗?
当前简讯:金融系统NTP时钟同步(网络校时服务器)架设工作详情
[网络]TCP的三次握手与四次挥手[转载]
每日焦点!Python程序笔记20230301
云图说|图解云消息服务KooMessage
环球微资讯!充电仅需18秒!中科大研发出新型水系锌离子电池
或为问界M9 赛力斯大型SUV专利图曝光:有点“震撼”
天天头条:车评人表扬华为问界:看不见的底盘件 大面积用铝合金材料
环球信息:林州“网红试胆石”出现裂缝仍有游客打卡 官方回应
天天速讯:299元 小米小爱音箱儿童版开卖:童声专项识别优化
世界银行上调2023年全球经济增长预期至2%
关于算法开源乱七八糟事
【报资讯】RDIF.vNext全新低代码快速开发框架平台发布
环球聚焦:基于pdfbox实现的pdf添加文字水印工具
【全球新要闻】老爸老妈浪漫史第五季(老爸老妈的浪漫史第五季结局是什么?)
爷青回!《灌篮高手》中国首映礼官宣:4月15日见
世界信息:快科技App 5.2.1新版发布:新增沉浸式阅读、排行榜一键分享长图
环球通讯!特斯拉下代电机不用稀土 国内专家:屁股决定脑袋 马斯克是迫不得已
今日聚焦!"全聚德连亏三年"登热搜:今年净亏损2.78亿元
时讯:iPhone 15 Pro相机凸起3.78毫米:约2枚1元硬币厚度
通讯!GGII:2022年中国锂电池回收处理废旧锂电池量41万吨,同比增37%
环球速讯:如何用Golang处理每分钟100万个请求
天天热点评!全网最详细中英文ChatGPT-GPT-4示例文档-步骤指示智能生成从0到1快速入门——官网推荐的48种最佳应用场景(附python/node.js
【高端访谈】“与时俱进”|绿债担保品管理驱动绿色金融体系建设升级——专访中央结算公司担保品业务负责人
每日看点!电动牙刷别乱买 买错代价太大了
全球即时:小鹏P7迎整车OTA:6项新增功能 360全景影像正式上线
世界热消息:挑战不可能!阿维塔11在“8D山城”重庆开启城区NCA智驾导航辅助体验
汽车促销潮蔓延 车险会降价吗?业内人士:没有直接影响
环球时讯:成都双流现飞机“横穿马路” 网友:真“飞”机动车道
钦州白癜风专科医院哪个好-白癜风患者如何缓解压力
通过Nginx定义Header头信息
全国18省份都有扬沙浮尘天气!沙尘暴趁夜入京:口罩挡不住行人吃土
今日要闻!乘联会:汽车价格没崩盘 降价潮不存在
天天简讯:别回家充电!电动车爆炸致死楼上邻居 全国又有多起发生:实测起火后可怕
热推荐:中科大研发镧系新型固态电解质 全固态锂金属电池新突破
每日消息!聚焦京津冀协同发展|培育农业品牌 让河北新鲜蔬菜装进北京“菜篮子”
【读财报】两年持有期基金回撤透视:广发、上投摩根基金等产品亏损幅度居前
四大证券报精华摘要:4月11日
机械鼠标看了心动?智商税别再交了!
特斯拉将取消强制单踏板模式 选择权终于交还用户
环球实时:江苏封杀“老头乐” 国内多省或效仿:倒逼大爷买新能源车、考驾照现实吗
每日热门:《GTA6》想超越“三男一狗”很难 三主角影响力太强
每日速看!学系统集成项目管理工程师(中项)系列04a_项目管理一般知识(上)
快看:大家可以来介绍家里杨过的过程,供大家参考吗?
环球热消息:国产战机大片《长空之王》新预告公布:看完热血
天天热推荐:重学c#系列—— 简单编写一个guid [娱乐篇]
环球热议:乘联会:新能源车绿牌2年内或消失 但不是因为它难看
全球热议:男子网购耐克鞋挂李宁吊牌?平台回应:员工绑错了
精选!工匠精神又崩了 日本知名寿司店常年用过期食材:肉眼看不出变色就能用
环球热点!迪士尼《小美人鱼》新剧照出炉:人鱼对比高颜值反派公主 你选谁?
特斯拉在韩推出Model S/X 比国内便宜 约64.85万元起
名记:法国足球可能给梅西颁发超级金球奖 历史仅1人获此荣誉
【世界快播报】台州多地发布事业单位招聘公告
每日快报!小程序开发,uni-app,XBuilder 学习资源
天天新动态:前端工程化实战:React 模块化开发、性能优化和组件化实践
每日时讯!ADMM——交替方向乘子法
全球速递!中小型项目请求限流设计
天天新消息丨电动车价格有得降!“白色石油”碳酸锂价格雪崩:有公司濒临破产
世界快资讯丨局地阵风10级!北京发布大风沙尘暴双黄色预警:空气质量严重污染
全球消息!解释一下布隆过滤器原理
世界通讯!mit 6.824 lab1分析
每日热点:AQS源码学习