微服务保护之Sentinel安装、配置流控规则、流控效果详解、热点参数限流、线程隔离与熔断降级详细配置、访问请求授权、自定义异常处理超详细,学会Sentinel一篇足矣

目录

一、 安装Sentinel、配置默认端口,账户以及密码

1.下载官方提供的jar包并存放在无中文目录下

2.启动Sentinel并配置默认端口以及用户名和密码

 3.在Maven工程下整合Sentinel

3.1导入Maven依赖触发Sentinel监控

3.2流控规则的使用和讲解 

3.3设置直接流控规则

3.4设置关联流控规则

3.5设置链路流控规则

 4.流控效果的设置以及作用

5.热点参数限流设置

六、Sentinel的线程隔离和熔断降级

6.1Feign和Sentinel的整合

6.2实现线程隔离

6.3 熔断降级

七、自定义异常结果

八、访问授权

1.在调用服务中自定义方法继承RequestOriginParser

2.编写Sentinel授权规则 

3.使用不同的端口进行查询返回结果


前言:本文是maven工程下的微服务与sentinel进行整合,讲解Sentine在微服务保护中扮演的角色,能够帮助我们解决什么问题,怎么解决,以及将不同的解决方式进行比较分析出他们合适的应用场景;

 在进行Sentinel安装之前我们先了解为什么需要sentinel这样的微服务保护机制:

        雪崩问题:我们需要微服务保护的首要原因就是微服务的雪崩问题——微服务调用链路中的某个服务故障,引起整个链路中的所有微服务都不可用,这就是雪崩。

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

  • 超时处理:设定超时时间,请求超过一定时间没有响应就返回错误信息,不会无休止等待,这样就解决了因为某个服务调用另一个服务而进行无休止等待并且占用相关资源而无法得到释放,当大量处理累积就会导致服务器雪崩的问题。
  • 舱壁模式:限定每个业务能使用的线程数,避免耗尽整个tomcat的资源,因此也叫线程隔离,设置服务的处理请求的线程数,到某个服务的线程数达到上限后,就会拒绝之后的访问请求,避免了因为某个服务(如服务C)的故障导致被调用者(如服务A)累计大量的处理请求,进而自身的其他服务无法正常进行导致的雪崩问题
  • 熔断降级:断路器统计业务执行的异常比例,如果超出阈值则会熔断该业务,拦截访问该业务的一切请求。和舱壁模式的处理相似。当某个服务节点故障时,或者响应结果异常时,发生异常的次数会被记录下来,当比例达到预设值,就会将所有访问此节点的请求进行拦截做出降级处理或者返回异常信息
  • 流量控制:限制业务访问的QPS(一秒内处理访问请求的数量),避免服务因流量的突增(瞬间高并发流量)而导致服务程序的崩溃,引起的雪崩问题

       

那么什么又是sentinel呢?它的框架和技术又有哪些呢?

Sentinel

隔离策略

信号量隔离

熔断降级策略

基于慢调用比例或异常比例

实时指标实现

滑动窗口

规则配置

支持多种数据源

扩展性

多个扩展点

基于注解的支持

支持

限流

基于 QPS,支持基于调用关系的限流

流量整形

支持慢启动、匀速排队模式

系统自适应保护

支持

控制台

开箱即用,可配置规则、查看秒级监控、机器发现等

常见框架的适配

Servlet、Spring Cloud、Dubbo、gRPC

Sentinel是阿里巴巴开源的一款微服务流量控制组件。官网地址:https://sentinelguard.io/zh-cn/index.htmlicon-default.png?t=O83Ahttps://sentinelguard.io/zh-cn/index.html

Sentinel 具有以下特征:

  • 丰富的应用场景Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
  • 完备的实时监控Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。
  • 广泛的开源生态Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值