通过本文一起来看下如何使用sentinel来进行限流。
1:sentinel控制台在这篇文章 基础上进行改造。源码 。
在这里 下载控制台jar包(这是一个springboot项目)。 下载完毕后通过如下命令启动:java -jar sentinel-dashboard-1.7.0.jar --server.port=8010 --auth.username=sentinel --auth.password=sentinel,启动成功后通过http://192.168.10.119:8010/#/login访问,如下:
录入账号sentinel/sentinel,登录如下页面即为成功:
因为此时还没有任何的dubbo接口注册,所以是空的。
2:rpc-service-provider-04 2.1:引入依赖引入sentinel相关的依赖:
2.2:增加配置com.alibaba.csp sentinel-core 1.7.0 com.alibaba.csp sentinel-transport-simple-http 1.7.0 com.alibaba.csp sentinel-apache-dubbo-adapter 1.7.0
在resources目录下增加sentinel.properties,如下:
csp.sentinel.dashboard.server=192.168.10.119:80103:rpc-service-consumer-04 3.1:引入依赖
引入sentinel相关的依赖:
3.2:增加配置com.alibaba.csp sentinel-core 1.7.0 com.alibaba.csp sentinel-transport-simple-http 1.7.0 com.alibaba.csp sentinel-apache-dubbo-adapter 1.7.0 org.springframework.boot spring-boot-starter-web
在resources目录下增加sentinel.properties,如下:
csp.sentinel.dashboard.server=192.168.10.119:80103.3:UserController
@RestController
@RequestMapping("/user")
public class UserController {
@Reference(version = "${dubbo.consumer.UserRpcService.version}")
private UserRpcService userRpcService;
@GetMapping("/get")
public UserDTO get(@RequestParam("id") Integer id) {
return userRpcService.get(id);
}
}
3.4:简单测试
启动后,访问http://192.168.10.119:8024/user/get?id=55:
此时可以随意访问,接下来通过sentinel控制台配置该接口每秒只可以访问一次,点击消费者的簇点链路->流控,如下图:
然后设置如下:
然后再访问http://192.168.10.119:8024/user/get?id=55,重复点击看到如下被限制访问页面则说明成功了:



