为什么要选择Spring cloud Sentinel

为什么要选择Spring cloud Sentinel

  • 🍎对比Hystrix
    • 🍂雪崩问题及解决方案
      • 🍂雪崩问题
      • 🍂.超时处理
      • 🍂仓壁模式
      • 🍂断路器
      • 🍂限流
      • 🍂总结

🍎对比Hystrix

在SpringCloud当中支持多种服务保护技术:

  • Netfix Hystrix
  • Sentinel
  • Resilience4J

早期比较流行的是Hystrix框架,但目前国内实用最广泛的还是阿里巴巴的Sentinel框架,这里我们做下对比:

SentinelHystrixResilience4J
隔离策略信号量隔离线程池隔离/信号量隔离信号量隔离
熔断降级策略基于慢调用比例或异常比例基于失败比率基于异常比例,响应时间
实时指标实现滑动窗口滑动窗口(基于 RxJava)Ring Bit Buffer
规则配置支持多种数据源支持多种数据源有限支持
扩展性多个扩展点 丰富的SPI接口插件的形式接口形式
基于注解的支持支持支持支持
限流基于 QPS,支持基于调用关系的限流有限的支持Rate Limiter
流量整形支持慢启动、匀速排队模式不支持简单的Rate Limiter 模式
系统自适应保护支持不支持不支持
控制台开箱即用,可配置规则、查看秒级监控、机器发现等不完善不提供控制台,可对接其它监控系统
常见框架的适配Servlet、Spring Cloud、Dubbo、gRPC 等Servlet、Spring Cloud NetflixServlet、Spring Cloud Netflix
开源社区状态活跃停止维护较活跃

从这张对比图可以看到Sentinel 所占的优势

🍂雪崩问题及解决方案

🍂雪崩问题

微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。

在这里插入图片描述

如图,如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此也会被阻塞。此时,其它不依赖于服务I的业务似乎不受影响。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

但是,依赖服务I的业务请求被阻塞,用户不会得到响应,则tomcat的这个线程不会释放,于是越来越多的用户请求到来,越来越多的线程会阻塞:

在这里插入图片描述

服务器支持的线程和并发数有限,请求一直阻塞,会导致服务器资源耗尽,从而导致所有其它服务都不可用,那么当前服务也就不可用了。

那么,依赖于当前服务的其它服务随着时间的推移,最终也都会变的不可用,形成级联失败,雪崩就发生了:

在这里插入图片描述

🍂.超时处理

解决雪崩问题的常见方式有四种:

•超时处理:设定超时时间,请求超过一定时间没有响应就返回错误信息,不会无休止等待

在这里插入图片描述

🍂仓壁模式

方案2:仓壁模式

仓壁模式来源于船舱的设计:

在这里插入图片描述

船舱都会被隔板分离为多个独立空间,当船体破损时,只会导致部分空间进入,将故障控制在一定范围内,避免整个船体都被淹没。

于此类似,我们可以限定每个业务能使用的线程数,避免耗尽整个tomcat的资源,因此也叫线程隔离。

在这里插入图片描述

🍂断路器

断路器模式:由断路器统计业务执行的异常比例,如果超出阈值则会熔断该业务,拦截访问该业务的一切请求。

断路器会统计访问某个服务的请求数量,异常比例:

在这里插入图片描述

当发现访问服务D的请求异常比例过高时,认为服务D有导致雪崩的风险,会拦截访问服务D的一切请求,形成熔断:

在这里插入图片描述

🍂限流

流量控制:限制业务访问的QPS,避免服务因流量的突增而故障。

在这里插入图片描述

🍂总结

什么是雪崩问题?

  • 微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。

可以认为:

限流是对服务的保护,避免因瞬间高并发流量而导致服务故障,进而避免雪崩。是一种预防措施。

超时处理、线程隔离、降级熔断是在部分服务故障时,将故障控制在一定范围,避免雪崩。是一种补救措施。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/84829.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美创科技参编《数字政府建设与发展研究报告(2023)》 正式发布

9月14日,中国信息通信研究院云计算与大数据研究所牵头编制的《数字政府建设与发展研究报告(2023)》正式发布。 美创科技结合在政务数据安全领域的丰富实践经验,参与报告编写。 《数字政府建设与发展研究报告》 以“技术、业务、数…

ARM 汇编指令作业(求公约数、for循环实现1-100之间和、从SVC模式切换到user模式简单写法)

1、求两个数最大公约数 .text .globl _start_start:mov r0, #9mov r1, #15 Loop: 循环cmp r0,r1 比较r0和r1的大小beq stop 当r0和r1相等时,跳到stop标签subhi r0,r0,r1 r0-r1>0 时,证明r0>r1,将r0-r1的值赋给r0&…

近年来国内室内定位领域硕士论文选题的现状与趋势

目录 一、前言 二、选题的目的和意义 三、选题现状分析 四、选题趋势分析 一、前言 本博文采用了图表统计法分析了近5年来100余篇高被引室内定位领域硕士论文选题的现状,并从选题现状中得出了该领域选题的大致趋势。本文还通过分析该领域硕士毕业论文选题的现…

数字孪生技术如何提升工厂生产效率?

数字孪生技术是一项引领工业界数字化转型的创新力量。随着工业4.0时代的到来,制造业正经历着巨大的变革,数字孪生技术在这个变革中发挥了关键作用。它不仅仅是一种技术,更是一种理念,将现实世界与数字世界相结合,为工厂…

C++真的是 C加加

📝个人主页:夏目浅石. 📌博客专栏:C的故事 🏠学习社区:夏目友人帐. 文章目录 前言Ⅰ. 函数重载0x00 重载规则0x01 函数重载的原理名字修饰 Ⅱ. 引用0x00 引用的概念0x01 引用和指针区分0x03 引用的本质0x04…

U盘有病毒插上电脑会感染吗?了解下U盘的病毒传播机制

U盘作为一种常见的移动存储设备,我们会经常使用它来传输和存储重要的文件。然而,有时可能会遇到文件被当作病毒误删除的情况,这给我们带来了不便和焦虑。好在,这里将向您介绍一些简单而有效的方法,帮助您恢复被误删除的…

vite自定义打包路径

修改vite.config.js 增加: build: { outDir:‘…/out’ }, base: ‘./’, 例子: // https://vitejs.dev/config/ export default defineConfig({plugins: [vue(),WindiCSS()],build: {outDir:../out},base: ./,server: {host:0.0.0.0,// https:{// cert: fs.readFi…

python装13的一些写法

一些当你离职后,让老板狂拍大腿的代码 1. any(** in ** for ** in **) 判断某个集合元素,是否包含某个/某些元素 代码: if __name__ __main__:# 判断 list1 中是否包含某个/某些元素list1 [1,2,3,4]a any(x in [5,4] for x in list1) 输…

buuctf-[网鼎杯 2020 朱雀组]phpweb

1.打开网站,吓我一跳 2.查看源代码,主要看到timezone,然后这个页面是五秒就会刷新一次 一开始去搜了这个,但是没什么用 3.使用bp抓包 会发现有两个参数,应该是用func来执行p 4.修改func和p file_get_contents&#…

广告牌安全监测系统,用科技护航大型广告牌安全

城市的街头巷尾,处处可见高耸的广告牌,它们以各种形式和颜色吸引着行人的目光。然而,作为城市景观的一部分,广告牌的安全性常常被我们所忽视。广告牌量大面大,由于设计、材料、施工方法的缺陷,加上后期的检…

淘天集团联合爱橙科技开源大模型训练框架Megatron-LLaMA

9月12日,淘天集团联合爱橙科技正式对外开源大模型训练框架——Megatron-LLaMA,旨在让技术开发者们能够更方便地提升大语言模型训练性能,降低训练成本,并保持和LLaMA社区的兼容性。测试显示,在32卡训练上,相…

C++之vector::insert与vector::insert应用总结(二百二十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

【大数据开发技术】实验04-HDFS文件创建与写入

文章目录 一、实验目标二、实验要求三、实验内容四、实验步骤 一、实验目标 熟练掌握hadoop操作指令及HDFS命令行接口掌握HDFS原理熟练掌握HDFS的API使用方法掌握单个本地文件写入到HDFS文件的方法掌握多个本地文件批量写入到HDFS文件的方法 二、实验要求 给出主要实验步骤成…

如何利用好Twitter的功能进行营销

虽然Twitter不是最复杂的社交网络,但您需要了解其中的一些特性和功能。这些是我们进行基本操作的地方。您进行探索并想出更多有创意的方式来使用这些功能。 推文。推文是您可以分享的帖子和更新,限制在140个字符内。每一条推文都有存档,您可…

计算机网络工程师多选题系列——操作系统

得多选者得天下啊同志们! 摘录按照章节顺序,但事实上各章节习题有交叉。 1 操作系统 1.1 操作系统概论 操作系统的主要功能:进程管理、存储管理、文件管理、设备管理和用户接口。 操作系统的主要功能——设备管理:为用户程序提…

PMP考试备考:两个月时间足够吗?

PMP(Project Management Professional)认证是全球范围内最受认可的项目管理专业资格之一。对于想要提升项目管理技能和职业发展的人来说,PMP认证是一个重要的里程碑。然而,很多人担心备考时间不足以充分准备PMP考试。那么&#xf…

研究报告:周界警戒AI算法+视频智能分析在安全生产场景中的应用

长期以来,周界防范安防系统在大型园区、工厂、社区、机场、火车站站台、重点单位等领域应用较为广泛和常见。随着AI人工智能等新兴技术的快速发展与落地应用,通过AI智能检测与视频智能分析技术,现代化的周界安防系统可以做到全天候快速、准确…

在AOSP中根据设备特性进行个性化定制:利用getPackageManager().hasSystemFeature()接口实现

在AOSP中根据设备特性进行个性化定制:利用getPackageManager().hasSystemFeature()接口实现 前言 AOSP原生框架是Android开放源代码项目的一部分,它不仅支持普通手机设备,还需要针对一些特殊设备(如汽车和手表等)提供…

小程序从无到有教学教程-- 01.重置华为云服务器Huawei Cloud EulerOS 2.0版本并且设置安全组

概述 专门拿了专栏来讲解,所以目录结构就比较简单了 文章目录 概述修改华为云操作系统选择Huawei Cloud EulerOS 2.0 镜像顺便配置华为安全组 修改华为云操作系统 这里选择华为最新的系统,不过也就2.0~ 选择Huawei Cloud EulerOS 2.0 镜像 这里记住密…

解决sass问题:npm ERR! node-sass@9.0.0 postinstall: `node scripts/build.js`

目录 一、遇到问题 解决办法 二、 再次遇到问题 解决办法 题外话 一、遇到问题 1.运行这个项目的适合,遇到了没有sass的问题 解决办法 然后就用命令下载sass npm install node-sass 二、 再次遇到问题 2.下载sass的时候又发现了一个这样的问题 npm ER…