Sentinel 介绍与下载使用

sentinel 前方参考
计算QPS-Sentinel限流算法 https://www.cnblogs.com/yizhiamumu/p/16819497.html
Sentinel 介绍与下载使用https://www.cnblogs.com/yizhiamumu/p/16823313.html
sentinel的四种流控规则介绍 https://www.cnblogs.com/yizhiamumu/p/16819593.html
sentinel 的限流规则及流量控制 https://www.cnblogs.com/yizhiamumu/p/16819680.html
sentinel中如何使用@SentinelResource和openFeign来进行服务熔断和降级的操作 https://www.cnblogs.com/yizhiamumu/p/16823146.html
Sentinel 介绍分布式系统的流量防卫兵: 随着微服务的普及,服务调用的稳定性也变的越来越重要,Sentinel以“流量”为切入点,在流量控制、断路、负载保护等多个方面进行续航,保证服务的可靠性 。
Sentinel具有以下特征:
丰富的应用场景: Sentinel承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等 。
完备的实时监控:Sentinel 同时提供实时的监控功能 。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况 。
广泛的开源生态:Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Apache Dubbo、gRPC、Quarkus 的整合 。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel 。同时 Sentinel 提供 Java/Go/C++ 等多语言的原生实现 。
完善的 SPI 扩展机制:Sentinel 提供简单易用、完善的 SPI 扩展接口 。您可以通过实现扩展接口来快速地定制逻辑 。例如定制规则管理、适配动态数据源等 。
Sentinel 的主要特性:

Sentinel 介绍与下载使用

文章插图
Sentinel的妙用
当我们的分布式系统,面临复杂的体系结构中应用程序可能有数十个依赖关系,每个依赖关系在某些时候将不可避免的失败,比如我们调用 D\F\K 这几个服务,如果这些服务中某一个出现问题了 , 那么有可能会出现整体系统效率的下降,严重的甚至出现服务雪崩 。
Sentinel 介绍与下载使用

文章插图
多个微服务之间互相调用的时候,如果D调用K和F,而K和F又调用其他的微服务,那么就会形成扇出,如果扇出某个链路上的微服务调用超时或者响应很慢 , 那么微服务D就会占用越来越多的系统资源 , 从而导致系统崩溃 , 也就是服务雪崩 。
Sentinel 介绍与下载使用

文章插图
对于高流量的应用来说,单一的后端依赖可能会导致服务器上的资源在极短的时间内被耗光,同时还有可能导致这些应用程序服务之间的响应时间增加,队列、线程和其他系统资源变的紧缺,导致整个系统之间发生更多的次生故障,如果我们单个应用服务故障处理和延迟进行隔离管控,当单个依赖关系失败时,不能对这个系统和资源产生影响,当某个模块实例失败以后,如果这个时候服务还能接收请求和流量访问,同时这个服务还去调用其他模块时,这样的级联故障,就会导致雪崩的发生
对比与其他的断流产品(Hystrix)而言,他不需要我们自己手动搭建监控平台,而且它有一套属于自己的Web界面,可对多种指标进行流控、熔断,且提供了实时监控和控制面板 , 功能更为强大
Sentinel 使用下载地址:https://github.com/alibaba/Sentinel/releases
Sentinel 介绍与下载使用

文章插图
Sentinel分为两个部分:
核心库:不依赖任何框架/库 , 只需要Java运行时环境,同时对Dubbo\SpringCloud等框架也有很好的支持控制台:基于SpringBoot开发,打包后可以直接运行,不需要额外的应用容器
注意:jdk1.8环境/8080端口不能被占用
启动命令:java -jar sentinel-dashboard-1.8.4.jar
Sentinel 介绍与下载使用

文章插图
访问地址:http://localhost:8080/
账号密码:sentinel/sentinel
Sentinel 介绍与下载使用

文章插图
到这里呢,我们的Sentinel就安装成功了,可能有点同学在界面上没有看到任何东西 , 并没有发现监控的服务,这是因为我们还没有启动项目,而Sentinel本身采用的是懒加载模式,所以我们需要先去访问服务对应的接口 , Sentinel才会进行工作,接下来我们就来搭建我们的测试项目

推荐阅读