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); + } + }