一、sentinel控制台的安装
第一步:访问https://github.com/alibaba/Sentinel/releases,下载对应版本的Jar包
第二步:将该jar包放到E盘的根目录下面,然后进入到控制台中,输入
java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -jar sentinel-dashboard-1.8.2.jar
第三步:浏览器中访问http://127.0.0.1:8080/
账号:sentinel
密码:sentinel
二、微服务中的配置
在微服务的pom文件中引入下述依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
此处需要注意的是在引入Spring Cloud整合sentinel的时候对应Jar包的版本很重要,如果版本不对,则项目在启动的时候可能会报错:
这是由于当前Spring Cloud整合sentinel的版本过高,我们需要对此依赖包进行降级处理,最后修改为项目的spring-cloud-stater的版本一致,修改为2.1.1
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
在yml配置文件中的配置为:
port表示项目与sentinel控制台进行交流的端口,该端口可以随便定义,各个微服务不要有冲突就可以,dashboard表示sentinel服务的ip和端口
三、基础实战使用
这种数据收集一般都是客户端主动发送给服务器,只要客户端和服务器端的网络链接是相通的,Sentinel的簇点链路就会接收数据。
第一步:启动服务hg,调用测试接口http://127.0.0.1:8087/trace/index
首次调用了上述接口后,sentinel会自动新增一个应用服务。刚开始的时候,我以为是项目一启动,sentinel就会显示对应的服务,其实不是,必须是有相关接口被调用后,相关数据被推送到sentinel以后,sentinel才会自动创建一个新的应用。
第二步:簇点链路 只有相关的接口请求被调用后,此处才会新增一条记录
第三步:在簇点链路中找到相应的接口,点击“流控”,可新增一条流控规则
点击“新增”后,在“流控规则”模块就会新增一条记录:
第四步:速频繁访问接口(http://127.0.0.1:8087/trace/index),观察效果
多次访问,访问会被限制