一:Sentinel 的3种保护场景
-
流量控制:不被上游压垮。当访问量超过服务器所能处理的请求数量QPS就让其它请求进行排队等待或者抛弃掉。
-
熔断降级:不被下游拖垮。如果下游微服务响应时间过长或者异常比较多时直接使用一个默认值作为下游微服务的响应,不再继续等待下游微服务的响应。
-
系统负载保护:如果系统的外界资源如(内存、CPU)过高,此时如果该机器再接收请求可能会将服务器累垮,此时可以将该请求转发到集群中的其它机器上,如果其它机器负载也很高,就平衡一下机器能处理的请求的数量,当超过这个数量进行排队等待处理。
注意:流量控制和熔断降级都是针对某个资源进行配置的,而系统负载保护是针对服务器进行配置的。
二:Sentinel下载和启动
Hystrix
是Netflix公司提供的开源的熔断技术,Alibaba也提供了对应的熔断技术就是Sentinel
,Sentinel可以直接集成到Spring Cloud中的Netflix体系中的微服务,也可以集成到Spring Cloud Alibaba微服务体系中。
Sentinel(https://github.com/alibaba/Sentinel/releases)是一个使用Java
编写的Spring Boot Web