Browse Source

model rpc

丁云鹏 1 năm trước cách đây
mục cha
commit
949e040b6a

+ 4 - 1
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/Application.java

@@ -5,6 +5,7 @@ package com.tzld.piaoquan.recommend.server;
 import com.tzld.piaoquan.recommend.feature.client.FeatureClient;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration;
 import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
@@ -15,7 +16,9 @@ import org.springframework.http.converter.protobuf.ProtobufHttpMessageConverter;
 /**
  * https://github.com/grpc-swagger/grpc-swagger/blob/master/README_CN.md
  */
-@SpringBootApplication
+@SpringBootApplication(exclude = {
+        RedisReactiveAutoConfiguration.class
+})
 @ComponentScan({
         "com.tzld.piaoquan.recommend.server.service",
         "com.tzld.piaoquan.recommend.server.grpcservice",

+ 1 - 1
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/common/base/RankItem.java

@@ -31,7 +31,7 @@ public class RankItem implements Comparable<RankItem> {
     }
 
     public RankItem(Long videoId) {
-        this.videoId = video.getVideoId();
+        this.videoId = videoId;
         this.score = 0.0;
     }
 

+ 2 - 2
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/config/FeatureRedisTemplateConfig.java

@@ -18,13 +18,13 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
 public class FeatureRedisTemplateConfig {
 
     @Bean("featureRedisPool")
-    @ConfigurationProperties(prefix = "spring.featureRedis.lettuce.pool")
+    @ConfigurationProperties(prefix = "spring.feature-redis.lettuce.pool")
     public GenericObjectPoolConfig<LettucePoolingClientConfiguration> featureRedisPool() {
         return new GenericObjectPoolConfig<>();
     }
 
     @Bean("featureRedisConfig")
-    @ConfigurationProperties(prefix = "spring.featureRedis")
+    @ConfigurationProperties(prefix = "spring.feature-redis")
     public RedisStandaloneConfiguration featureRedisConfig() {
         return new RedisStandaloneConfiguration();
     }

+ 30 - 0
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/grpcservice/GrpcAspect.java

@@ -0,0 +1,30 @@
+package com.tzld.piaoquan.recommend.server.grpcservice;
+
+import com.tzld.piaoquan.recommend.server.util.TraceUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author dyp
+ */
+@Aspect
+@Component
+@Slf4j
+public class GrpcAspect {
+
+    @Around("execution(* com.tzld.piaoquan.recommend.server.grpcservice.*GrpcService.*(..))")
+    public Object around(ProceedingJoinPoint pjp) throws Throwable {
+        TraceUtils.setMDC();
+//
+//        String className = pjp.getTarget().getClass().getSimpleName();
+//        MethodSignature signature = (MethodSignature) pjp.getSignature();
+//        Stopwatch stopwatch = Stopwatch.createStarted();
+        Object result = pjp.proceed();
+
+        TraceUtils.removeMDC();
+        return result;
+    }
+}

+ 6 - 0
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/grpcservice/ModelGrpcService.java

@@ -1,10 +1,12 @@
 package com.tzld.piaoquan.recommend.server.grpcservice;
 
+import com.tzld.piaoquan.recommend.feature.client.ProtobufUtils;
 import com.tzld.piaoquan.recommend.server.gen.model.ModelServiceGrpc;
 import com.tzld.piaoquan.recommend.server.gen.model.ScoreRequest;
 import com.tzld.piaoquan.recommend.server.gen.model.ScoreResponse;
 import com.tzld.piaoquan.recommend.server.service.ModelService;
 import io.grpc.stub.StreamObserver;
+import lombok.extern.slf4j.Slf4j;
 import net.devh.boot.grpc.server.service.GrpcService;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -12,13 +14,17 @@ import org.springframework.beans.factory.annotation.Autowired;
  * @author dyp
  */
 @GrpcService
+@Slf4j
 public class ModelGrpcService extends ModelServiceGrpc.ModelServiceImplBase {
     @Autowired
     private ModelService modelService;
 
     @Override
     public void score(ScoreRequest request, StreamObserver<ScoreResponse> responseObserver) {
+        log.info("ModelGrpcService score request={}", ProtobufUtils.toJson(request));
         ScoreResponse response = modelService.score(request);
+        log.info("ModelGrpcService score response={}", ProtobufUtils.toJson(response));
+
         responseObserver.onNext(response);
         responseObserver.onCompleted();
     }

+ 4 - 0
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/score/ScorerUtils.java

@@ -33,7 +33,11 @@ public final class ScorerUtils {
 
 =======
         ScorerUtils.init(VIDEO_SCORE_CONF_FOR_AD);
+<<<<<<< HEAD
 >>>>>>> d4727fd (model rpc)
+=======
+
+>>>>>>> 60461d5 (model rpc)
     }
 
     private ScorerUtils() {

+ 1 - 1
recommend-server-service/src/main/resources/application-dev.yml

@@ -24,7 +24,7 @@ spring:
         max-wait: -1
         max-idle: 8
         min-idle: 0
-  featureRedis:
+  feature-redis:
     hostName: r-bp1pi8wyv6lzvgjy5z.redis.rds.aliyuncs.com
     port: 6379
     password: Wqsd@2019

+ 1 - 1
recommend-server-service/src/main/resources/application-pre.yml

@@ -24,7 +24,7 @@ spring:
         max-wait: -1
         max-idle: 8
         min-idle: 0
-  featureRedis:
+  feature-redis:
     hostName: r-bp1pi8wyv6lzvgjy5z.redis.rds.aliyuncs.com
     port: 6379
     password: Wqsd@2019

+ 1 - 1
recommend-server-service/src/main/resources/application-prod.yml

@@ -24,7 +24,7 @@ spring:
         max-wait: -1
         max-idle: 8
         min-idle: 0
-  featureRedis:
+  feature-redis:
     hostName: r-bp1pi8wyv6lzvgjy5z.redis.rds.aliyuncs.com
     port: 6379
     password: Wqsd@2019

+ 1 - 1
recommend-server-service/src/main/resources/application-test.yml

@@ -24,7 +24,7 @@ spring:
         max-wait: -1
         max-idle: 8
         min-idle: 0
-  featureRedis:
+  feature-redis:
     hostName: r-bp1pi8wyv6lzvgjy5z.redis.rds.aliyuncs.com
     port: 6379
     password: Wqsd@2019