流量控制服务降级神器之Sentinel

说到流量服务控制,那么肯定有很多人都不太了解这个内容,因为如果对服务要求不是那么严格的情况下,基本是不会使用到这个东西的,但是,如果想要通过多个维度来保护服务和维持系统稳定性的话,那么就一定离不开Sentinel。,Sentinel是阿里巴巴公司开源的面向分布式环境的轻量级流量控制框架。,Sentinel是以流量为切入点,通过多个维度来保护服务和维持系统稳定性的工具。,主要功能:,我们来分别的看一下都是什么意思,首先这个流量控制,,什么是流量控制呢?,就比如说,我们的请求,堆积起来成批次的时候,就相当于是流量,当有大批的请求流量过来的时候,Sentinel就得起到一些作用了,它就相当于是一个调配器,将随机的请求变成顺序的请求,将不同格式的请求格式化为统一的格式的请求。,那么什么是熔断降级呢?,实际上熔断降级就是在调用链路中的某个资源出现了不稳定,最终会导致请求发生堆积,然后为了避免这种情况,就有了熔断降级。,发生熔断降级时,系统这时候所处的状态可能为:,所以熔断降级会进行处理,通过并发线程数进行限制,还有就是通过响应时间对资源进行降级。,那么过载保护又体现在哪些方面呢?,其实主要就是体现在系统资源占用比例过高,让系统的入口流量和系统的负载达到一个平衡,保证系统在能力范围之内处理最多的请求。,我们来看看这个 Sentinel 都有哪些优点,为什么这么人都使用呢?,我们都知道这个 Sentinel 是阿里开源的,甚至在双十一大促的时候,也起到了关键性的作用。,比如其中的秒杀,集群流量控制,消息削峰填谷,所以第一个优点就出来了,,如果你使用过 Sentinel ,那么一定登陆过 Sentinel 的后台,它的后台十分完善,服务流量的实时显示,集群汇总的运行情况,都是非常完美的,所以第二个优点也有了。,第三个优点,其实其他很多的工具都是有的,那就开源,那么我们就来看看这个 Sentinel 在 Windows 下是如何使用的。,毕竟我们刚才已经说了他有完善的实时监控了,而这个实时监控也能体现在我们的页面上,那么他就是控制台程序,我们直接来整一下。,1.下载 Windows 的安装包,Windows下的jar,图片,了不起已经把jar包已经下载下来了,接下来我们看看如何启动,其实启动jar包的方式那我都不需要说,肯定都知道,但是启动 Sentinel 的 Jar 包也是需要有些参数的,比如如下需要你了解的参数。,了解这么多也不错了,然后我们来弄个比较简单的启动,我们直接用比较简单的命令来启动。,默认账号和密码都是 sentinel,图片,我们直接登陆,然后看到的就是他的控制面板了。,图片,我们看到了控制台,接下来我们就得去看看整合到项目中,是如何实现限流的。,创建 SpringCloud的项目,了不起就不再说了,直接说怎么引入这个 Sentinel 吧。,依赖引入:,其实往上还有很多博主说需要引入一些不如 actuator 的依赖,其实不需要,原因显而易见,这和个包肯定是包含这些依赖的,比如::,在 spring-cloud-starter-alibaba-sentinel中实际上已经都引入过了,所以不需要再单独的去引入依赖。,依赖引入了,接下来就得看看怎么配置这个配置文件,了不起就截图了一些内容,主要看sentinel 的配置就可以,,当我们启动的时候,然后访问一下swagger的文档,,图片,此时查看sentinel控制台,将会看见这个服务已经被监控了。,Sentinel 可以简单分为 Sentinel 核心库和 Dashboard,核心库不依赖 Dashboard,但是结合 Dashboard 可以获得更好的效果。使用 Sentinel 来进行资源保护,主要分为几个步骤:,(1)定义资源:资源可以是程序中的任何内容,例如一个服务,服务里的方法,甚至是一段代码。,(2)定义规则:Sentinel 支持以下几种规则:流量控制规则、熔断降级规则、系统保护规则、来源访问控制规则 和 热点参数规则。,(3)检验规则是否生效,由于 Sentinel 中所有的规则都可以在动态地查询和修改,并且修改后立即生效,并且 Sentinel 中资源定义和规则的配置是分离的。因此在编码时,我们先把需要保护的资源定义好(埋点),之后便可以在需要的时候动态配置规则了。也可以理解为,只要有了资源,我们就能在任何时候灵活地定义各种规则。,实现方式有两种,第一种是通过硬编码的方式,但是这种方式很少有人使用,侵入性太高了呀,改代码还得改一堆东西,了不起就不说了,我们主要来说说这个使用注解的方式,这种方式方便而且还简单。,@SentinelResource注解方式(推荐),我们先看看注解源码都写了啥?,其中不常用的可以了解就可以了,你说呢?

文章版权声明

 1 原创文章作者:cmcc,如若转载,请注明出处: https://www.52hwl.com/26972.html

 2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈

 3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)

 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年6月23日 下午9:48
下一篇 2023年7月15日 上午12:00