下载
首先是Sentinel的下载:
https://github.com/alibaba/Sentinel/releases
根据你需要的版本下载,可下载已经打包好的jar包或者自己下载源码自己打包,我下载是jar包,直接启动,方便!
启动
启动命令(将自己也作为埋点资源)
java -Dserver.port=8888 -Dcsp.sentinel.dashboard.server=localhost:8888 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar
或者(不把自己作为埋点资源)
java -Dserver.port=8888 -jar sentinel-dashboard.jar
-
-Dserver.port=8080 控制台启动端口
-
-Dcsp.sentinel.dashboard.server=localhost:8080 控制台地址
-
-Dproject.name=sentinel-dashboard 在控制台显示的名称
控制台
项目需要做的修改
- pom文件
<!-- sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
<version>${spring-cloud-alibaba.version}</version>
</dependency>
我这边的项目是Alibaba Cloud搭建的,所以我测试了一下,不引用sentinel-transport-simple-http也是可以的,如果你是直接饮用的sentinel是需要两个包的
<!-- 控制台埋点包 -->
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-transport-simple-http</artifactId>
<version>1.8.0</version>
</dependency>
<!-- sentinel核心包 -->
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-core</artifactId>
<version>1.8.0</version>
</dependency>
- 配置文件application.yml
spring:
cloud:
#配置限流
sentinel:
transport:
port: 8719
#图形化地址
dashboard: localhost:8888
- Java代码
//sentinel注解
@SentinelResource(value = "getInfo" ,fallback = "sentinelTestFallBackClass",fallbackClass = FallBackService.class)
@Override
public String getInfo(String name) {
return "A-Hello,"+name;
}
Sentinel控制台设置
一定要先访问一次使用sentinel的注解的方法,不然控制台不显示
控制台的默认用户名和密码:sentinel
访问以后就会在控制台显示,就可以进行控制比如流控
新增之后会在菜单 流控规则 中增加一条流控记录,因为我这里配置了fallback,所以1秒超过两次就会自动到fallback方法中
至此,sentinel配置完成,我这里介绍的只是基本的配置,还有很多有意思的功能,可以在熟悉之后探索一下,这个还是很方便的,毕竟不用动项目可以直接在控制台里面进行配置