- 1、在 Spring 项目中引入 Sentinel 客户端
- 2、参考链接
1.添加 pom 文件依赖:
com.alibaba.cloud spring-cloud-starter-alibaba-sentinel
2.在 application.yml 添加配置:
server:
port: 10801
servlet:
context-path: /api/member
spring:
application:
name: member-service
cloud:
sentinel:
eager: true
transport:
port: 8719
dashboard: (安装Sentinel机器的IP):8858
3.新建一个 Service 类添加一个方法,添加注解 @SentinelResource:
@Service
public class MemberService {
@SentinelResource(value = "sayHello", fallback = "sayHelloFail")
public String sayHello() {
return "Hello, Member! ";
}
public String sayHelloFail() {
return "I am sorry, Member! ";
}
}
4.新建一个 Controller 类来调用这个 Service 的方法:
@RestController
@RequestMapping
public class HelloController {
@Resource
private MemberService memberService;
@RequestMapping("/service")
public String service() {
return memberService.sayHello();
}
}
5.启动 Spring 项目,此时再去控制台会发现项目列表中已经出现,实时监控暂时没数据:
http://(安装Sentinel机器的IP):8858
注意:仔细的同学发现这里的端口并不是 8719,因为我机器上另外开了几个服务,配置同样是 8719 端口,Sentinel 会自动识别冲突,并且按照 (端口号+1) 的规则自动分配端口。
6.访问下 /api/member/service 这个请求,看看结果:
#### 请求测试 GET http://localhost:10801/api/member/service Accept: */* Cache-Control: no-cache
7.重复多访问几次 /api/member/service 这个请求,发现实时监控面板出现数据:
[01] 掘金 - Java Spring Cloud Alibabasentinel



