From 394b9b06f88a1a282e71421168a8563f28363f90 Mon Sep 17 00:00:00 2001 From: zhongjie Date: Wed, 5 Jan 2022 11:41:20 +0800 Subject: [PATCH] Extract resource ID constants and methods to ResourceIdUtils from ResourceRateLimitConfig --- .../java/we/config/FlowStatSchedConfig.java | 17 ++-- .../we/controller/FlowControlController.java | 5 +- .../java/we/filter/FlowControlFilter.java | 48 +++++----- .../ratelimit/ResourceRateLimitConfig.java | 74 +-------------- .../main/java/we/util/ResourceIdUtils.java | 94 +++++++++++++++++++ .../we/filter/FlowControlFilterTests.java | 7 +- .../ResourceRateLimitConfigServiceTests.java | 4 +- .../ResourceRateLimitConfigTests.java | 7 +- 8 files changed, 144 insertions(+), 112 deletions(-) create mode 100644 fizz-core/src/main/java/we/util/ResourceIdUtils.java diff --git a/fizz-core/src/main/java/we/config/FlowStatSchedConfig.java b/fizz-core/src/main/java/we/config/FlowStatSchedConfig.java index 43c3cf8..8bc2025 100644 --- a/fizz-core/src/main/java/we/config/FlowStatSchedConfig.java +++ b/fizz-core/src/main/java/we/config/FlowStatSchedConfig.java @@ -33,6 +33,7 @@ import we.stats.ratelimit.ResourceRateLimitConfigService; import we.util.Consts; import we.util.DateTimeUtils; import we.util.NetworkUtils; +import we.util.ResourceIdUtils; import we.util.ThreadContext; import javax.annotation.Resource; @@ -113,22 +114,22 @@ public class FlowStatSchedConfig extends SchedConfig { resourceTimeWindowStats.forEach( rtws -> { String resource = rtws.getResourceId(); - String app = null, pi = null, node = ResourceRateLimitConfig.NODE, service = null, path = null; + String app = null, pi = null, node = ResourceIdUtils.NODE, service = null, path = null; int type = ResourceRateLimitConfig.Type.NODE, id = 0; ResourceRateLimitConfig c = resourceRateLimitConfigService.getResourceRateLimitConfig(resource); if (c == null) { // _global, service, app, app+service, ip, ip+service - node = ResourceRateLimitConfig.getNode(resource); - if (node != null && node.equals(ResourceRateLimitConfig.NODE)) { + node = ResourceIdUtils.getNode(resource); + if (node != null && node.equals(ResourceIdUtils.NODE)) { } else { - service = ResourceRateLimitConfig.getService(resource); - app = ResourceRateLimitConfig.getApp(resource); - pi = ResourceRateLimitConfig.getIp(resource); + service = ResourceIdUtils.getService(resource); + app = ResourceIdUtils.getApp(resource); + pi = ResourceIdUtils.getIp(resource); if (service == null) { if (app == null) { type = ResourceRateLimitConfig.Type.IP; } else { - ResourceRateLimitConfig appConfig = resourceRateLimitConfigService.getResourceRateLimitConfig(ResourceRateLimitConfig.APP_DEFAULT_RESOURCE); + ResourceRateLimitConfig appConfig = resourceRateLimitConfigService.getResourceRateLimitConfig(ResourceIdUtils.APP_DEFAULT_RESOURCE); if (appConfig != null && appConfig.isEnable()) { type = ResourceRateLimitConfig.Type.APP_DEFAULT; } else { @@ -183,7 +184,7 @@ public class FlowStatSchedConfig extends SchedConfig { String r = null; if (type == ResourceRateLimitConfig.Type.NODE) { - r = ResourceRateLimitConfig.NODE; + r = ResourceIdUtils.NODE; } else if (type == ResourceRateLimitConfig.Type.SERVICE_DEFAULT || type == ResourceRateLimitConfig.Type.SERVICE) { r = service; } diff --git a/fizz-core/src/main/java/we/controller/FlowControlController.java b/fizz-core/src/main/java/we/controller/FlowControlController.java index edff500..18f7877 100644 --- a/fizz-core/src/main/java/we/controller/FlowControlController.java +++ b/fizz-core/src/main/java/we/controller/FlowControlController.java @@ -35,6 +35,7 @@ import we.stats.ratelimit.ResourceRateLimitConfig; import we.util.Consts; import we.util.DateTimeUtils; import we.util.JacksonUtils; +import we.util.ResourceIdUtils; import java.math.BigDecimal; import java.util.HashMap; @@ -72,11 +73,11 @@ public class FlowControlController { long currentTimeSlot = flowStat.currentTimeSlotId(); long startTimeSlot = currentTimeSlot - recent * 1000; TimeWindowStat timeWindowStat = null; - List wins = flowStat.getResourceTimeWindowStats(ResourceRateLimitConfig.NODE_RESOURCE, startTimeSlot, currentTimeSlot, recent); + List wins = flowStat.getResourceTimeWindowStats(ResourceIdUtils.NODE_RESOURCE, startTimeSlot, currentTimeSlot, recent); if (wins == null || wins.isEmpty()) { result.put("rps", 0); } else { - concurrents = flowStat.getConcurrentRequests(ResourceRateLimitConfig.NODE_RESOURCE); + concurrents = flowStat.getConcurrentRequests(ResourceIdUtils.NODE_RESOURCE); result.put("concurrents", concurrents); timeWindowStat = wins.get(0).getWindows().get(0); BigDecimal winrps = timeWindowStat.getRps(); diff --git a/fizz-core/src/main/java/we/filter/FlowControlFilter.java b/fizz-core/src/main/java/we/filter/FlowControlFilter.java index 97f4880..36cf306 100644 --- a/fizz-core/src/main/java/we/filter/FlowControlFilter.java +++ b/fizz-core/src/main/java/we/filter/FlowControlFilter.java @@ -135,7 +135,7 @@ public class FlowControlFilter extends FizzWebFilter { log.info("{} exceed {} flow limit, blocked by maximum QPS", traceId, blockedResourceId, LogService.BIZ_ID, traceId); } - ResourceRateLimitConfig c = resourceRateLimitConfigService.getResourceRateLimitConfig(ResourceRateLimitConfig.NODE_RESOURCE); + ResourceRateLimitConfig c = resourceRateLimitConfigService.getResourceRateLimitConfig(ResourceIdUtils.NODE_RESOURCE); String rt = c.responseType, rc = c.responseContent; c = resourceRateLimitConfigService.getResourceRateLimitConfig(blockedResourceId); if (c != null) { @@ -192,15 +192,15 @@ public class FlowControlFilter extends FizzWebFilter { private List getResourceConfigItselfAndParents(ResourceConfig rc, List rcs) { boolean check = false; String rcId = rc.getResourceId(); - String rcApp = ResourceRateLimitConfig.getApp(rcId); - String rcIp = ResourceRateLimitConfig.getIp(rcId); + String rcApp = ResourceIdUtils.getApp(rcId); + String rcIp = ResourceIdUtils.getIp(rcId); List result = new ArrayList<>(); for (int i = rcs.size() - 1; i > -1; i--) { ResourceConfig r = rcs.get(i); String id = r.getResourceId(); - String app = ResourceRateLimitConfig.getApp(id); - String ip = ResourceRateLimitConfig.getIp(id); - String path = ResourceRateLimitConfig.getPath(id); + String app = ResourceIdUtils.getApp(id); + String ip = ResourceIdUtils.getIp(id); + String path = ResourceIdUtils.getPath(id); if (check) { if (rcIp != null) { if (ip != null) { @@ -239,12 +239,12 @@ public class FlowControlFilter extends FizzWebFilter { List resourceConfigs = new ArrayList<>(9); StringBuilder b = ThreadContext.getStringBuilder(); - checkRateLimitConfigAndAddTo(resourceConfigs, b, null, null, ResourceRateLimitConfig.NODE, null, null, null); - checkRateLimitConfigAndAddTo(resourceConfigs, b, null, null, null, service, null, ResourceRateLimitConfig.SERVICE_DEFAULT); + checkRateLimitConfigAndAddTo(resourceConfigs, b, null, null, ResourceIdUtils.NODE, null, null, null); + checkRateLimitConfigAndAddTo(resourceConfigs, b, null, null, null, service, null, ResourceIdUtils.SERVICE_DEFAULT); checkRateLimitConfigAndAddTo(resourceConfigs, b, null, null, null, service, path, null); if (app != null) { - checkRateLimitConfigAndAddTo(resourceConfigs, b, app, null, null, null, null, ResourceRateLimitConfig.APP_DEFAULT); + checkRateLimitConfigAndAddTo(resourceConfigs, b, app, null, null, null, null, ResourceIdUtils.APP_DEFAULT); checkRateLimitConfigAndAddTo(resourceConfigs, b, app, null, null, service, null, null); checkRateLimitConfigAndAddTo(resourceConfigs, b, app, null, null, service, path, null); } @@ -262,7 +262,7 @@ public class FlowControlFilter extends FizzWebFilter { } private void checkRateLimitConfigAndAddTo(List resourceConfigs, StringBuilder b, String app, String ip, String node, String service, String path, String defaultRateLimitConfigId) { - ResourceRateLimitConfig.buildResourceIdTo(b, app, ip, node, service, path); + ResourceIdUtils.buildResourceIdTo(b, app, ip, node, service, path); String resourceId = b.toString(); checkRateLimitConfigAndAddTo(resourceConfigs, resourceId, defaultRateLimitConfigId); b.delete(0, b.length()); @@ -276,21 +276,21 @@ public class FlowControlFilter extends FizzWebFilter { rc = new ResourceConfig(resource, rateLimitConfig.concurrents, rateLimitConfig.qps); resourceConfigs.add(rc); } else { - String node = ResourceRateLimitConfig.getNode(resource); - if (node != null && node.equals(ResourceRateLimitConfig.NODE)) { + String node = ResourceIdUtils.getNode(resource); + if (node != null && node.equals(ResourceIdUtils.NODE)) { rc = new ResourceConfig(resource, 0, 0); } if (defaultRateLimitConfigId != null) { - if (defaultRateLimitConfigId.equals(ResourceRateLimitConfig.SERVICE_DEFAULT)) { + if (defaultRateLimitConfigId.equals(ResourceIdUtils.SERVICE_DEFAULT)) { rc = new ResourceConfig(resource, 0, 0); - rateLimitConfig = resourceRateLimitConfigService.getResourceRateLimitConfig(ResourceRateLimitConfig.SERVICE_DEFAULT_RESOURCE); + rateLimitConfig = resourceRateLimitConfigService.getResourceRateLimitConfig(ResourceIdUtils.SERVICE_DEFAULT_RESOURCE); if (rateLimitConfig != null && rateLimitConfig.isEnable()) { rc.setMaxCon(rateLimitConfig.concurrents); rc.setMaxQPS(rateLimitConfig.qps); } } - if (defaultRateLimitConfigId.equals(ResourceRateLimitConfig.APP_DEFAULT)) { - rateLimitConfig = resourceRateLimitConfigService.getResourceRateLimitConfig(ResourceRateLimitConfig.APP_DEFAULT_RESOURCE); + if (defaultRateLimitConfigId.equals(ResourceIdUtils.APP_DEFAULT)) { + rateLimitConfig = resourceRateLimitConfigService.getResourceRateLimitConfig(ResourceIdUtils.APP_DEFAULT_RESOURCE); if (rateLimitConfig != null && rateLimitConfig.isEnable()) { rc = new ResourceConfig(resource, rateLimitConfig.concurrents, rateLimitConfig.qps); } @@ -310,7 +310,7 @@ public class FlowControlFilter extends FizzWebFilter { prevPrev = resourceConfigs.get(sz - 2).getResourceId(); if (rateLimitConfig.type == ResourceRateLimitConfig.Type.APP) { - String app = ResourceRateLimitConfig.getApp(prev); + String app = ResourceIdUtils.getApp(prev); if (rateLimitConfig.path == null) { if (rateLimitConfig.service != null && app == null) { something4(resourceConfigs, rateLimitConfig.app, null, null); @@ -320,11 +320,11 @@ public class FlowControlFilter extends FizzWebFilter { something4(resourceConfigs, rateLimitConfig.app, null, null); something4(resourceConfigs, rateLimitConfig.app, null, rateLimitConfig.service); } else { - String service = ResourceRateLimitConfig.getService(prev); + String service = ResourceIdUtils.getService(prev); if (service == null) { something4(resourceConfigs, rateLimitConfig.app, null, rateLimitConfig.service); } else { - app = ResourceRateLimitConfig.getApp(prevPrev); + app = ResourceIdUtils.getApp(prevPrev); if (app == null) { something4(resourceConfigs, rateLimitConfig.app, null, null); } @@ -336,21 +336,21 @@ public class FlowControlFilter extends FizzWebFilter { if (rateLimitConfig.service == null && rateLimitConfig.path == null) { } else if (rateLimitConfig.path == null) { - String ip = ResourceRateLimitConfig.getIp(prev); + String ip = ResourceIdUtils.getIp(prev); if (ip == null) { something4(resourceConfigs, null, rateLimitConfig.ip, null); } } else { - String ip = ResourceRateLimitConfig.getIp(prev); + String ip = ResourceIdUtils.getIp(prev); if (ip == null) { something4(resourceConfigs, null, rateLimitConfig.ip, null); something4(resourceConfigs, null, rateLimitConfig.ip, rateLimitConfig.service); } else { - String service = ResourceRateLimitConfig.getService(prev); + String service = ResourceIdUtils.getService(prev); if (service == null) { something4(resourceConfigs, null, rateLimitConfig.ip, rateLimitConfig.service); } else { - ip = ResourceRateLimitConfig.getIp(prevPrev); + ip = ResourceIdUtils.getIp(prevPrev); if (ip == null) { something4(resourceConfigs, null, rateLimitConfig.ip, null); } @@ -362,7 +362,7 @@ public class FlowControlFilter extends FizzWebFilter { } private void something4(List resourceConfigs, String app, String ip, String service) { - String r = ResourceRateLimitConfig.buildResourceId(app, ip, null, service, null); + String r = ResourceIdUtils.buildResourceId(app, ip, null, service, null); ResourceConfig rc = new ResourceConfig(r, 0, 0); resourceConfigs.add(rc); } diff --git a/fizz-core/src/main/java/we/stats/ratelimit/ResourceRateLimitConfig.java b/fizz-core/src/main/java/we/stats/ratelimit/ResourceRateLimitConfig.java index 92ead99..37ab5f7 100644 --- a/fizz-core/src/main/java/we/stats/ratelimit/ResourceRateLimitConfig.java +++ b/fizz-core/src/main/java/we/stats/ratelimit/ResourceRateLimitConfig.java @@ -19,9 +19,11 @@ package we.stats.ratelimit; import com.fasterxml.jackson.annotation.JsonIgnore; import org.apache.commons.lang3.StringUtils; -import we.util.Consts; import we.util.JacksonUtils; -import we.util.Utils; + +import static we.util.ResourceIdUtils.APP_DEFAULT; +import static we.util.ResourceIdUtils.NODE; +import static we.util.ResourceIdUtils.SERVICE_DEFAULT; /** * @author hongqiaowei @@ -39,18 +41,6 @@ public class ResourceRateLimitConfig { static final byte IP = 7; } - public static final String NODE = "_global"; - - public static final String NODE_RESOURCE = buildResourceId(null, null, NODE, null, null); - - public static final String SERVICE_DEFAULT = "service_default"; - - public static final String SERVICE_DEFAULT_RESOURCE = buildResourceId(null, null, null, SERVICE_DEFAULT, null); - - public static final String APP_DEFAULT = "app_default"; - - public static final String APP_DEFAULT_RESOURCE = buildResourceId(APP_DEFAULT, null, null, null, null); - public boolean isDeleted = false; public int id; @@ -145,62 +135,6 @@ public class ResourceRateLimitConfig { return resourceId; } - public static String buildResourceId(String app, String ip, String node, String service, String path) { - StringBuilder b = new StringBuilder(32); - buildResourceIdTo(b, app, ip, node, service, path); - return b.toString(); - } - - public static void buildResourceIdTo(StringBuilder b, String app, String ip, String node, String service, String path) { - b.append(app == null ? Consts.S.EMPTY : app) .append(Consts.S.SQUARE); - b.append(ip == null ? Consts.S.EMPTY : ip) .append(Consts.S.SQUARE); - b.append(node == null ? Consts.S.EMPTY : node) .append(Consts.S.SQUARE); - b.append(service == null ? Consts.S.EMPTY : service) .append(Consts.S.SQUARE); - b.append(path == null ? Consts.S.EMPTY : path); - } - - public static String getApp(String resource) { - int i = resource.indexOf(Consts.S.SQUARE); - if (i == 0) { - return null; - } else { - return resource.substring(0, i); - } - } - - public static String getIp(String resource) { - String extract = Utils.extract(resource, Consts.S.SQUARE, 1); - if (extract.equals(Consts.S.EMPTY)) { - return null; - } - return extract; - } - - public static String getNode(String resource) { - String extract = Utils.extract(resource, Consts.S.SQUARE, 2); - if (extract.equals(Consts.S.EMPTY)) { - return null; - } - return extract; - } - - public static String getService(String resource) { - String extract = Utils.extract(resource, Consts.S.SQUARE, 3); - if (extract.equals(Consts.S.EMPTY)) { - return null; - } - return extract; - } - - public static String getPath(String resource) { - int i = resource.lastIndexOf(Consts.S.SQUARE); - if (i == resource.length() - 1) { - return null; - } else { - return resource.substring(i); - } - } - @Override public String toString() { return JacksonUtils.writeValueAsString(this); diff --git a/fizz-core/src/main/java/we/util/ResourceIdUtils.java b/fizz-core/src/main/java/we/util/ResourceIdUtils.java new file mode 100644 index 0000000..d9f476c --- /dev/null +++ b/fizz-core/src/main/java/we/util/ResourceIdUtils.java @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2021 the original author or authors. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package we.util; + +/** + * Resource ID utility + * Extracted from {@link we.stats.ratelimit.ResourceRateLimitConfig} + * + * @author zhongjie + */ +public class ResourceIdUtils { + + public static final String NODE = "_global"; + + public static final String NODE_RESOURCE = buildResourceId(null, null, NODE, null, null); + + public static final String SERVICE_DEFAULT = "service_default"; + + public static final String SERVICE_DEFAULT_RESOURCE = buildResourceId(null, null, null, SERVICE_DEFAULT, null); + + public static final String APP_DEFAULT = "app_default"; + + public static final String APP_DEFAULT_RESOURCE = buildResourceId(APP_DEFAULT, null, null, null, null); + + public static String buildResourceId(String app, String ip, String node, String service, String path) { + StringBuilder b = new StringBuilder(32); + buildResourceIdTo(b, app, ip, node, service, path); + return b.toString(); + } + + public static void buildResourceIdTo(StringBuilder b, String app, String ip, String node, String service, String path) { + b.append(app == null ? Consts.S.EMPTY : app) .append(Consts.S.SQUARE); + b.append(ip == null ? Consts.S.EMPTY : ip) .append(Consts.S.SQUARE); + b.append(node == null ? Consts.S.EMPTY : node) .append(Consts.S.SQUARE); + b.append(service == null ? Consts.S.EMPTY : service) .append(Consts.S.SQUARE); + b.append(path == null ? Consts.S.EMPTY : path); + } + + public static String getApp(String resource) { + int i = resource.indexOf(Consts.S.SQUARE); + if (i == 0) { + return null; + } else { + return resource.substring(0, i); + } + } + + public static String getIp(String resource) { + String extract = Utils.extract(resource, Consts.S.SQUARE, 1); + if (extract.equals(Consts.S.EMPTY)) { + return null; + } + return extract; + } + + public static String getNode(String resource) { + String extract = Utils.extract(resource, Consts.S.SQUARE, 2); + if (extract.equals(Consts.S.EMPTY)) { + return null; + } + return extract; + } + + public static String getService(String resource) { + String extract = Utils.extract(resource, Consts.S.SQUARE, 3); + if (extract.equals(Consts.S.EMPTY)) { + return null; + } + return extract; + } + + public static String getPath(String resource) { + int i = resource.lastIndexOf(Consts.S.SQUARE); + if (i == resource.length() - 1) { + return null; + } else { + return resource.substring(i); + } + } +} diff --git a/fizz-core/src/test/java/we/filter/FlowControlFilterTests.java b/fizz-core/src/test/java/we/filter/FlowControlFilterTests.java index e85f741..cae1d66 100644 --- a/fizz-core/src/test/java/we/filter/FlowControlFilterTests.java +++ b/fizz-core/src/test/java/we/filter/FlowControlFilterTests.java @@ -17,6 +17,7 @@ import we.stats.ratelimit.ResourceRateLimitConfig; import we.stats.ratelimit.ResourceRateLimitConfigService; import we.util.JacksonUtils; import we.util.ReflectionUtils; +import we.util.ResourceIdUtils; import java.util.HashMap; import java.util.List; @@ -64,7 +65,7 @@ public class FlowControlFilterTests { Map map = resourceRateLimitConfigService.getResourceRateLimitConfigMap(); ResourceRateLimitConfig config = JacksonUtils.readValue("{\"concurrents\":66,\"enable\":1,\"id\":1,\"isDeleted\":0,\"resource\":\"_global\",\"type\":1}", ResourceRateLimitConfig.class); - map.put(ResourceRateLimitConfig.NODE_RESOURCE, config); + map.put(ResourceIdUtils.NODE_RESOURCE, config); config = JacksonUtils.readValue("{\"concurrents\":33,\"enable\":1,\"id\":2,\"isDeleted\":0, \"service\":\"xservice\", \"path\":\"/ypath\", \"type\":4}", ResourceRateLimitConfig.class); map.put(config.getResourceId(), config); @@ -92,12 +93,12 @@ public class FlowControlFilterTests { // System.err.println(JacksonUtils.writeValueAsString(flowStat.resourceStats)); - String xservice = ResourceRateLimitConfig.buildResourceId(null, null, null, "xservice", null); + String xservice = ResourceIdUtils.buildResourceId(null, null, null, "xservice", null); List resourceTimeWindowStats = flowStat.getResourceTimeWindowStats(xservice, startTimeSlot, currentTimeSlot, 10); TimeWindowStat win = resourceTimeWindowStats.get(0).getWindows().get(0); assertEquals(win.getCompReqs(), 1); - String xserviceYpath = ResourceRateLimitConfig.buildResourceId(null, null, null, "xservice", "/ypath"); + String xserviceYpath = ResourceIdUtils.buildResourceId(null, null, null, "xservice", "/ypath"); resourceTimeWindowStats = flowStat.getResourceTimeWindowStats(xserviceYpath, startTimeSlot, currentTimeSlot, 10); win = resourceTimeWindowStats.get(0).getWindows().get(0); assertEquals(win.getCompReqs(), 1); diff --git a/fizz-core/src/test/java/we/stats/ratelimit/ResourceRateLimitConfigServiceTests.java b/fizz-core/src/test/java/we/stats/ratelimit/ResourceRateLimitConfigServiceTests.java index ae758bd..099b095 100644 --- a/fizz-core/src/test/java/we/stats/ratelimit/ResourceRateLimitConfigServiceTests.java +++ b/fizz-core/src/test/java/we/stats/ratelimit/ResourceRateLimitConfigServiceTests.java @@ -9,7 +9,7 @@ import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import we.redis.RedisProperties; import we.redis.RedisServerConfiguration; import we.redis.RedisTemplateConfiguration; -import we.util.JacksonUtils; +import we.util.ResourceIdUtils; import javax.annotation.Resource; @@ -51,7 +51,7 @@ public class ResourceRateLimitConfigServiceTests { stringRedisTemplate.opsForHash().put("fizz_rate_limit", "2", "{\"concurrents\":66,\"enable\":1,\"id\":2,\"isDeleted\":0,\"resource\":\"service_default\",\"type\":2}"); stringRedisTemplate.opsForHash().put("fizz_rate_limit", "3", "{\"concurrents\":88,\"enable\":1,\"id\":3,\"isDeleted\":0, \"type\":6, \"app\":\"xapp\", \"service\":\"yservice\" }"); resourceRateLimitConfigService.init(); - ResourceRateLimitConfig resourceRateLimitConfig = resourceRateLimitConfigService.getResourceRateLimitConfig(ResourceRateLimitConfig.SERVICE_DEFAULT_RESOURCE); + ResourceRateLimitConfig resourceRateLimitConfig = resourceRateLimitConfigService.getResourceRateLimitConfig(ResourceIdUtils.SERVICE_DEFAULT_RESOURCE); // Map resourceRateLimitConfigMap = resourceRateLimitConfigService.getResourceRateLimitConfigMap(); // System.err.println(JacksonUtils.writeValueAsString(resourceRateLimitConfigMap)); assertEquals(resourceRateLimitConfig.concurrents, 66); diff --git a/fizz-core/src/test/java/we/stats/ratelimit/ResourceRateLimitConfigTests.java b/fizz-core/src/test/java/we/stats/ratelimit/ResourceRateLimitConfigTests.java index 2a2fab0..e8c0e1e 100644 --- a/fizz-core/src/test/java/we/stats/ratelimit/ResourceRateLimitConfigTests.java +++ b/fizz-core/src/test/java/we/stats/ratelimit/ResourceRateLimitConfigTests.java @@ -2,6 +2,7 @@ package we.stats.ratelimit; import org.junit.jupiter.api.Test; import we.util.JacksonUtils; +import we.util.ResourceIdUtils; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -25,7 +26,7 @@ public class ResourceRateLimitConfigTests { String resourceId = c.getResourceId(); assertEquals("^^_global^^", resourceId); - String node = ResourceRateLimitConfig.getNode(resourceId); + String node = ResourceIdUtils.getNode(resourceId); assertEquals("_global", node); resourceRateLimitConfigJson = "{\"concurrents\":1000,\"enable\":1,\"id\":1,\"isDeleted\":0,\"qps\":500, \"type\":2, \"resource\":\"service_default\" }"; @@ -38,10 +39,10 @@ public class ResourceRateLimitConfigTests { resourceId = c.getResourceId(); assertEquals("^^^xservice^", resourceId); - resourceId = ResourceRateLimitConfig.buildResourceId(null, null, ResourceRateLimitConfig.NODE, null, null); + resourceId = ResourceIdUtils.buildResourceId(null, null, ResourceIdUtils.NODE, null, null); assertEquals("^^_global^^", resourceId); - resourceId = ResourceRateLimitConfig.buildResourceId(null, "192.168.1.1", null, "xservice", null); + resourceId = ResourceIdUtils.buildResourceId(null, "192.168.1.1", null, "xservice", null); assertEquals("^192.168.1.1^^xservice^", resourceId); } }