第九节 Sentinel

亮子 2021-08-18 20:09:28 17325 0 0 0

1、Sentinel是什么?

Sentinel 是阿里巴巴开源的,面向分布式服务架构的高可用防护组件,主要以流量为 切入点,从流量控制、流量整形、熔断降级、系统自适应保护、热点防护等多个维度来帮助 开发者保障微服务的稳定性。Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心 场景,例如秒杀、冷启动、消息削峰填谷、自适应流量控制、实时熔断下游不可用服务等, 是保障微服务高可用的利器,原生支持 Java/Go/C++ 等多种语言,并且提供 Istio/Envoy 全局流控支持来为 Service Mesh Sentinel 的技术亮点:

 高度可扩展能力:基础核心 + SPI 接口扩展能力,用户可以方便地扩展流控、通信、 监控等功能。

 多样化的流量控制策略(资源粒度、调用关系、流控指标、流控效果等多个维度),提 供分布式集群流控的能力。

 热点流量探测和防护。

 对不稳定服务进行熔断降级和隔离。

 全局维度的系统负载自适应保护,根据系统水位实时调节流量。

 覆盖 API Gateway 场景,为 Spring Cloud Gateway、Zuul 提供网关流量控制 的能力。

 实时监控和规则动态配置管理能力。

图片alt

Sentinel 分为两个部分:

  • 核心库(Java 客户端)不依赖任何框架/库,能够运行于所有 Java 运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。
  • 控制台(Dashboard)基于 Spring Boot 开发,打包后可以直接运行,不需要额外的 Tomcat 等应用容器。

2、下载安装

  • 下载地址
https://github.com/alibaba/Sentinel/releases
  • 手册文档
https://www.bookstack.cn/read/Sentinel-1.8/2ed1babeee77ea56.md