|
@@ -32,27 +32,6 @@ public class FlowPoolConfigService {
|
|
|
@Value("${flow.pool.upgrade.switch:true}")
|
|
|
private boolean flowPoolUpgradeSwitch;
|
|
|
|
|
|
- // TODO 这些配置可以用配置中心么?
|
|
|
- // {"control_group": [], "experimental_flow_set_level": [10, 11, 12, 13, 14, 15, 16, 17], "experimental_flow_set_level_score": [9, 18]}
|
|
|
- private LoadingCache<String, Map<String, List<Integer>>> flowPoolConfigCache = CacheBuilder.newBuilder()
|
|
|
- .maximumSize(10)
|
|
|
- .refreshAfterWrite(60, TimeUnit.SECONDS)
|
|
|
- .expireAfterWrite(60, TimeUnit.SECONDS)
|
|
|
- .expireAfterAccess(60, TimeUnit.SECONDS)
|
|
|
- .build(new CacheLoader<String, Map<String, List<Integer>>>() {
|
|
|
- @Override
|
|
|
- public Map<String, List<Integer>> load(String key) throws Exception {
|
|
|
- String value = redisTemplate.opsForValue().get(key);
|
|
|
- if (StringUtils.isEmpty(value)) {
|
|
|
- value = "{\"control_group\": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16],\n" +
|
|
|
- " \"experimental_flow_set_level\": [],\n" +
|
|
|
- " \"experimental_flow_set_level_score\": []}";
|
|
|
- }
|
|
|
- return JSONUtils.fromJson(value, new TypeToken<Map<String, List<Integer>>>() {
|
|
|
- }, Collections.emptyMap());
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
private LoadingCache<String, Map<String, Double>> levelWeightConfigCache = CacheBuilder.newBuilder()
|
|
|
.maximumSize(10)
|
|
|
.refreshAfterWrite(60, TimeUnit.SECONDS)
|
|
@@ -70,14 +49,6 @@ public class FlowPoolConfigService {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- public Map<String, List<Integer>> getFlowPoolConfig() {
|
|
|
- try {
|
|
|
- return flowPoolConfigCache.get("flow:pool:abtest:config");
|
|
|
- } catch (ExecutionException e) {
|
|
|
- log.error("getFlowPoolConfig error", e);
|
|
|
- return Collections.emptyMap();
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
public Map<String, Double> getLevelWeight4FlowPoolWithLevel() {
|
|
|
try {
|
|
@@ -89,15 +60,4 @@ public class FlowPoolConfigService {
|
|
|
return Collections.emptyMap();
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- public Map<String, Double> getLevelWeight4FlowPoolWithLevelScore() {
|
|
|
- try {
|
|
|
- return flowPoolUpgradeSwitch
|
|
|
- ? levelWeightConfigCache.get("flow:pool:level:score:weight:v2")
|
|
|
- : levelWeightConfigCache.get("flow:pool:level:recommend:weight");
|
|
|
- } catch (ExecutionException e) {
|
|
|
- log.error("getFlowPoolConfig error", e);
|
|
|
- return Collections.emptyMap();
|
|
|
- }
|
|
|
- }
|
|
|
}
|