Sfoglia il codice sorgente

revert flowpool logic

丁云鹏 3 mesi fa
parent
commit
eab9b1a308

+ 6 - 2
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/flowpool/FlowPoolConfigService.java

@@ -9,6 +9,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
@@ -26,6 +27,8 @@ public class FlowPoolConfigService {
     @Autowired
     @Qualifier("redisTemplate")
     private RedisTemplate<String, String> redisTemplate;
+    @Value("${flow.pool.upgrade.switch:true}")
+    private boolean flowPoolUpgradeSwitch;
 
     private LoadingCache<String, Map<String, Double>> levelWeightConfigCache = CacheBuilder.newBuilder()
             .maximumSize(10)
@@ -47,8 +50,9 @@ public class FlowPoolConfigService {
 
     public Map<String, Double> getLevelWeight4FlowPoolWithLevel() {
         try {
-            // return levelWeightConfigCache.get("flow:pool:level:weight:v2");
-            return levelWeightConfigCache.get("flow:pool:level:recommend:weight");
+            return flowPoolUpgradeSwitch
+                    ? levelWeightConfigCache.get("flow:pool:level:weight:v2")
+                    : levelWeightConfigCache.get("flow:pool:level:recommend:weight");
         } catch (ExecutionException e) {
             log.error("getFlowPoolConfig error", e);
             return Collections.emptyMap();

+ 0 - 1
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/flowpool/FlowPoolConstants.java

@@ -9,6 +9,5 @@ public class FlowPoolConstants {
 
     public static final String KEY_WITH_LEVEL_FORMAT = "flow:pool:level:item:%s:%s";
     public static final String KEY_WITH_LEVEL_FORMAT_V2 = "flow:pool:level:item:v2:%s:%s";
-    public static final String KEY_QUICK_WITH_LEVEL_FORMAT_V2 = "flow:pool:quick:item:0:3";
 
 }

+ 0 - 7
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/flowpool/FlowPoolService.java

@@ -6,10 +6,8 @@ import com.tzld.piaoquan.recommend.server.common.ThreadPoolFactory;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.MapUtils;
-import org.apache.commons.lang3.math.NumberUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
@@ -60,11 +58,6 @@ public class FlowPoolService {
             String key = String.format(KEY_WITH_LEVEL_FORMAT, appType, level);
             Long count = redisTemplate.opsForSet().remove(key, values);
         });
-
-
-        asyncDelDistributeCountV2(videoFlowPoolMap, (appType, level, values) -> {
-            redisTemplate.opsForSet().remove(String.format(KEY_WITH_LEVEL_FORMAT_V2, appType, level), values);
-        });
     }
 
     private Map<Long, String> updateDistributeCount(List<Video> videos) {

+ 6 - 2
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/strategy/FlowPoolWithLevelRecallStrategyTomson.java

@@ -16,6 +16,7 @@ import org.apache.commons.lang3.RandomUtils;
 import org.apache.commons.lang3.math.NumberUtils;
 import org.apache.commons.lang3.tuple.Pair;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -34,6 +35,8 @@ import static com.tzld.piaoquan.recommend.server.service.flowpool.FlowPoolConsta
 public class FlowPoolWithLevelRecallStrategyTomson extends AbstractFlowPoolWithLevelRecallStrategy {
     @Autowired
     private FlowPoolConfigService flowPoolConfigService;
+    @Value("${flow.pool.upgrade.switch:true}")
+    private boolean flowPoolUpgradeSwitch;
 
     @Override
     Pair<String, String> flowPoolKeyAndLevel(RecallParam param) {
@@ -43,8 +46,9 @@ public class FlowPoolWithLevelRecallStrategyTomson extends AbstractFlowPoolWithL
         // 2. 判断各层级是否有视频需分发
         List<LevelWeight> availableLevels = new ArrayList<>();
         for (Map.Entry<String, Double> entry : levelWeightMap.entrySet()) {
-            // String levelKey = String.format(KEY_WITH_LEVEL_FORMAT_V2, 0, entry.getKey());
-            String levelKey = String.format(KEY_WITH_LEVEL_FORMAT, param.getAppType(), entry.getKey());
+            String levelKey = flowPoolUpgradeSwitch
+                    ? String.format(KEY_WITH_LEVEL_FORMAT_V2, 0, entry.getKey())
+                    : String.format(KEY_WITH_LEVEL_FORMAT, param.getAppType(), entry.getKey());
             if (redisTemplate.hasKey(levelKey)) {
                 LevelWeight lw = new LevelWeight();
                 lw.setLevel(entry.getKey());

+ 6 - 1
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/strategy/QuickFlowPoolWithLevelRecallStrategy.java

@@ -3,6 +3,7 @@ package com.tzld.piaoquan.recommend.server.service.recall.strategy;
 import com.tzld.piaoquan.recommend.server.service.flowpool.FlowPoolConstants;
 import com.tzld.piaoquan.recommend.server.service.recall.RecallParam;
 import org.apache.commons.lang3.tuple.Pair;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 /**
@@ -10,10 +11,14 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class QuickFlowPoolWithLevelRecallStrategy extends AbstractFlowPoolWithLevelRecallStrategy {
+    @Value("${flow.pool.upgrade.switch:true}")
+    private boolean flowPoolUpgradeSwitch;
 
     @Override
     Pair<String, String> flowPoolKeyAndLevel(RecallParam param) {
-        return Pair.of(String.format("flow:pool:quick:item:%s:3", param.getAppType()), "");
+        return flowPoolUpgradeSwitch
+                ? Pair.of(String.format("flow:pool:quick:item:%s:3", 0), "")
+                : Pair.of(String.format("flow:pool:quick:item:%s:3", param.getAppType()), "");
     }
 
     @Override