From 2569e8c0a4e960c8eb34c56985dba9608f7e15ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Fri, 17 Sep 2021 17:22:55 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E5=A2=9E=E5=8A=A0=20=E9=9B=86=E7=BE=A4?= =?UTF-8?q?=E9=99=90=E6=B5=81=E6=BC=94=E7=A4=BA=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RedisRateLimiterController.java | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisRateLimiterController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisRateLimiterController.java index 46a8daf47..33d75093b 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisRateLimiterController.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisRateLimiterController.java @@ -2,6 +2,7 @@ package com.ruoyi.demo.controller; import com.ruoyi.common.annotation.RateLimiter; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.LimitType; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -22,13 +23,36 @@ import org.springframework.web.bind.annotation.RestController; public class RedisRateLimiterController { /** - * 测试限流注解 + * 测试全局限流 + * 全局影响 */ - @ApiOperation("测试限流注解") + @ApiOperation("测试全局限流") @RateLimiter(count = 2, time = 10) @GetMapping("/test") public AjaxResult test(String value){ return AjaxResult.success("操作成功",value); } + /** + * 测试请求IP限流 + * 同一IP请求受影响 + */ + @ApiOperation("测试请求IP限流") + @RateLimiter(count = 2, time = 10, limitType = LimitType.IP) + @GetMapping("/testip") + public AjaxResult testip(String value){ + return AjaxResult.success("操作成功",value); + } + + /** + * 测试集群实例限流 + * 启动两个后端服务互不影响 + */ + @ApiOperation("测试集群实例限流") + @RateLimiter(count = 2, time = 10, limitType = LimitType.CLUSTER) + @GetMapping("/testcluster") + public AjaxResult testcluster(String value){ + return AjaxResult.success("操作成功",value); + } + }