1、前言
这是《SpringCloud进阶》专栏的第五篇文章,这篇文章介绍一下阿里开源的流量防卫兵Sentinel,一款非常优秀的开源项目,经过近10年的双十一的考验,非常成熟的一款产品。往期文章如下:
五十五张图告诉你微服务的灵魂摆渡者Nacos究竟有多强?openFeign夺命连环9问,这谁受得了?阿里面试这样问:Nacos、Apollo、Config配置中心如何选型?这10个维度告诉你!阿里面试败北:5种微服务注册中心如何选型?这几个维度告诉你!
文章目录如下:
2、什么是sentinel?
sentinel顾名思义:卫兵;在Redis中叫做哨兵,用于监控主从切换,但是在微服务中叫做流量防卫兵。
Sentinel以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
Sentinel具有以下特征:
丰富的应用场景:Sentinel承接了阿里巴巴近10年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。完备的实时监控:Sentinel同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至台以下规模的集群的汇总运行情况。广泛的开源生态:Sentinel提供开箱即用的与其它开源框架/库的整合模块,例如与SpringCloud、ApacheDubbo、gRPC、Quarkus的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入Sentinel。同时Sentinel提供Java/Go/C++等多语言的原生实现。完善的SPI扩展机制:Sentinel提供简单易用、完善的SPI扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。
Sentinel的主要特性
核心库(Java客户端)不依赖任何框架/库,能够运行于所有Java运行时环境,同时对Dubbo/SpringCloud等框架也有较好的支持。控制台(Dashboard)基于SpringBoot开发,打包后可以直接运行,不需要额外的Tomcat等应用容器。
总之一句话:sentinel真牛逼,完爆Hystrix.........
3、sentinel和Hystrix有何区别?
不多说了,总之一句话:Hystrix赶紧放弃,用sentinel......
4、sentinel版本如何选择?
由于陈某写的是SpringCloud进阶一个系列,使用的聚合项目,因此版本还是保持和之前文章一样,不清楚的可以看这篇:
这里选择的spring-cloud-alibaba-dependencies的版本是2.2.1.RELEASE,因此sentinel版本选择1.7.1
注意:一定要按照官方推荐的版本适配,否则出现意想不到的BUG追悔莫及.........
5、Sentinel控制台如何安装?
sentinel和nacos一样,都有一个控制台,但是这里不用自己手动搭建一个微服务,官方已经搭建好了,只需要下载对应得jar包运行即可。下载
转载请注明:http://www.0431gb208.com/sjszjzl/2404.html