启动命令
java -Dserver.port=8180 -Dcsp.sentinel.dashboard.server=localhost:8180 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.1.jar
<!--添加sentinel依赖--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency>
添加sentinel依赖 会在项目中添加一个拦截器对象,这个对象会对服务发出的请求进行拦截,拦截到请求以后,会与sentinel控制台定义的规则进行比对,假如在允许的范围之内,则继续访问,否则进行限流或者降级
package com.jt.provider.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/provider")
public class ProviderSentinelController {
@GetMapping("/sentinel01")
public String sentinel01(){
return "sentinel 01 text";
}
}
实现效果
创建Service层
package com.jt.provider.service;
import com.alibaba.csp.sentinel.annotation.SentinelResource;
import org.springframework.stereotype.Service;
@Service
public class ResourceService {
@SentinelResource("doGetResource") /*使用此注解描述的方法,在此方法被访问时 会在sentinel的簇点链路中显示,此注解中指定的名字就是资源名,我们可以对这个资源进行访问, 按照指定的链路进行限流设计*/
public String doGetResource(){
return "do get resource";
}
}
更新Controller层
/*测试链路模式*/
@Autowired
private ResourceService resourceService;
@GetMapping("/sentinel03")
public String sentinel03(){
resourceService.doGetResource();
return "sentinel 03 text";
}
实现效果
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_55740233/article/details/120990077
内容来源于网络,如有侵权,请联系作者删除!