微服务保护--Sentinel

本文介绍了微服务中雪崩问题及其解决方案,重点讲解了阿里巴巴开源的Sentinel组件,包括其特征、安装及与SpringCloud的整合。Sentinel提供了丰富的流量控制策略,如快速失败、预热(warm up)和排队等待,帮助服务应对突发流量,避免服务雪崩。
摘要由CSDN通过智能技术生成

1.初始Sentinel

1.1雪崩问题及其解决方案

1.1.1雪崩问题

微服务调用链路中的某个服务故障,引起整个链路中的所有微服务都不可用,这就是雪崩

1.1.2雪崩问题的解决方案

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

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

2.舱壁模式:限定每个业务能使用的线程数,避免耗尽整个tomcat的资源,因此也叫线程隔离。 

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

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

总结:

什么是雪崩问题?

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

如何避免因瞬间高并发流量而导致服务故障?

流量控制

如何避免因服务故障引起的雪崩问题?

超时处理
线程隔离
降级熔断

1.2服务保护对比

1.3认识Sentinel

Sentinel是阿里巴巴开源的一款微服务流量控制组件。官网地址:

https://sentinelguard.io/zh-cn/index.htmlhttps://sentinelguard.io/zh-cn/index.html

1.3.1.Sentinel 的特征

  • 丰富的应用场景Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
  • 完备的实时监控Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。
  • 广泛的开源生态Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring CloudDubbogRPC 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel
  • 完善的 SPI
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值