所属领域:
微服务
|名词定义|
Sentinel 是阿里巴巴开源,面向分布式付五架构的轻量级流量控制组件。在微服务中,服务的调用一般分为Consumer和Provoder,在使用过程中,我们需要对Provoder进性限流保护,来保证不会被过快的调用或者流量激增所打垮,我们可以配置QPS模式的限流,来让多余的流量直接拒绝,同时我们也可以对Provider进性授权保护(不受信任的应用直接拒绝),系统保护(Load超出阈值停止服务),热点保护(增强板的限流保护)
|发展历程 |
2012 年,Sentinel 诞生,主要功能为入口流量控制。
2013-2017 年,Sentinel 在阿里巴巴集团内部迅速发展,成为基础技术模块,覆盖了所有的核心场景。Sentinel 也因此积累了大量的流量归整场景以及生产实践。
2018 年,Sentinel 开源。
|技术特点 |
1、 限流(把服务的kbs每秒钟的请求量限制到某个域当中,保证我们的服务不被突然的打垮)
2、 流量整形(流量是随机的、不均匀的、不可预测的,我们需要把突然的流量调整到合适的形状,比如说我们希望某一刻的流量是匀速通过的或者我们希望流量是缓慢增加,而不是突然一下子达到阈值,此时我们需要进性流量整形)
3、 熔断降级(保证自己不被原程的不稳定情况拖垮,及时熔断这些不稳定服务避免接连失败导致的雪崩)
4、 系统自适应保护(结合系统的CPU使用率、总QPS等时时指标来保障整个系统的流量不被打垮,同时有最大限度的使用系统的吞吐量)
5、 多样化的流量控制场景
|使用场景|
1、 启动控制台(下载控制台jar包,设置启动参数并启动,访问控制台)
2、 Spring Cloud Web 应用接入(引入依赖,通过Spring配置文件配置Sentinel相关参数)
3、 Spring Cloud Gateway 网关接入
4、 Dubbo服务接入
5、 手动埋点
|资料来源|
阿里云大学视频
https://developer.aliyun.com/edu/course/1943/learn#lesson/16989
CSDN-