赞
踩
目录
Sentinel与Hystrix一样,都是Spring Cloud Circuit Breaker的具体实现(其实这句表述不严谨,因为Sentinel可以不依赖于Spring Cloud)。
Sentinel支持服务流控、熔断降级等功能。
Sentinel 的使用可以分为两个部分:
资源是 Sentinel 的关键概念。它可以是 Java 应用程序中的任何内容,例如,由应用程序提供的服务,或由应用程序调用的其它应用提供的服务,甚至可以是一段代码。在接下来的文档中,我们都会用资源来描述代码块。
只要通过 Sentinel API 定义的代码,就是资源,能够被 Sentinel 保护起来。大部分情况下,可以使用方法签名,URL,甚至服务名称作为资源名来标示资源。
围绕资源的实时状态设定的规则,可以包括流量控制规则、熔断降级规则以及系统保护规则。所有规则可以动态实时调整。
Sentinel 提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。 (流控和服务降级规则的具体执行还是应用中的Sentinel,而不是控制台)
Sentinel 控制台包含如下功能:
1、下载:https://github.com/alibaba/Sentinel/releases
2、运行:
java -Dserver.port=8383 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.2.jar
其中 -Dserver.port=8383
用于指定 Sentinel 控制台监听端口为 8383
3、启动后浏览器访问:http://IP:端口 (用户名密码默认都是sentinel)
这里还看不到应用情况。因为这时没有应用向Sentinel报告情况。
Sentinel本身是独立组件,可以不与Spring Cloud绑定。但是由于使用Spring Cloud比较多,这里也使用Spring为例。
在之前的工程( 以此工程为基础 https://blog.csdn.net/zyplanke/article/details/120860958 ) 的基础上。
1、增加sentinel依赖
- ------ 省略 ------
- <dependency>
- <groupId>com.alibaba.cloud</groupId>
- <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
- <version>${springcloudalibaba.version}</version>
- </dependency>
- ------ 省略 ------
2、增加应用与控制台之间的互联参数。
以下方法一与方法二任选其一即可,两种配置效果等价
【方法一】:在Java启动时增加两个 JVM参数
-Dcsp.sentinel.dashboard.server=IP:8383
-Dcsp.sentinel.api.port=8719
第1个JVM参数为:Sentinel控制台地址,该应用程序(客户端)会自动向
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。