SpringCloud熔断组件hystrix目前已经进入维护阶段了,功能上基本不会有更新,只是会提供bug修复功能。然而阿里巴巴开源了sentinel,这为SpringCloud熔断降级提供了另外一种方案,我们来看一下官方给出的介绍:
Sentinel 介绍
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。 Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
Sentinel 具有以下特征:
-
丰富的应用场景: Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、实时熔断下游不可用应用等。
-
完备的实时监控: Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。
-
广泛的开源生态: Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。
-
完善的 SPI 扩展点: Sentinel 提供简单易用、完善的 SPI 扩展点。您可以通过实现扩展点,快速的定制逻辑。例如定制规则管理、适配数据源等。
Sentinel 控制台
Sentinel 控制台提供一个轻量级的控制台,它提供机器发现、单机资源实时监控、集群资源汇总,以及规则管理的功能。您只需要对应用进行简单的配置,就可以使用这些功能。
注意: 集群资源汇总仅支持 500 台以下的应用集群,有大概 1 - 2 秒的延时。
Sentinel 控制台启动方法和步骤:
方法一:jar包启动
- 下载jar包
大家可以release界面下载jar包,目前最新的是1.5.1
下载链接https://github.com/alibaba/Sentinel/releases/download/1.5.1/sentinel-dashboard-1.5.1.jar - 指定端口启动jar包
Sentinel 控制台是一个标准的 SpringBoot 应用,以 SpringBoot 的方式运行 jar 包即可。java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.5.1.jar
其中8080端口冲突,可以自行修改
- 访问控制台
http://localhost:8080
方法二:下载代码,自行打包:
- 下载源码:下载地址:https://github.com/alibaba/Sentinel/archive/1.5.1.zip
下载后解压,得到目录如下: - 进入dashboard子模块进行打包构建:mvn clean package
[INFO] --- maven-jar-plugin:3.1.0:jar (default-jar) @ sentinel-dashboard --- [INFO] Building jar: G:\LinXiaoWen\SpringCloudAlibaba\Sentinel-1.5.1\sentinel-dashboard\target\sentinel-dashboard.jar [INFO] [INFO] --- spring-boot-maven-plugin:2.1.3.RELEASE:repackage (default) @ sentinel-dashboard --- [INFO] Replacing main artifact with repackaged archive [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 02:23 min [INFO] Finished at: 2019-03-30T09:43:35+08:00 [INFO] Final Memory: 44M/200M [INFO] ------------------------------------------------------------------------
得到fatjar,启动与方法一相同,不再赘述