Selaa lähdekoodia

feat: 子服务增加限流熔断

hidewnd 1 viikko sitten
vanhempi
commit
713114dc6a

+ 5 - 0
yt-ios-lemon/lemon-ios-service/pom.xml

@@ -59,6 +59,11 @@
             <artifactId>ip2region</artifactId>
             <version>3.3.2</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

+ 2 - 0
yt-ios-lemon/lemon-ios-service/src/main/java/com/ytpm/lemonios/LemonIosApplication.java

@@ -6,6 +6,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
 import org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.netflix.hystrix.EnableHystrix;
 import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.RestController;
 })
 @EnableDiscoveryClient
 @EnableFeignClients(basePackages = {"com.ytpm.feign"})
+@EnableHystrix
 public class LemonIosApplication
 {
     public static void main( String[] args )

+ 3 - 0
yt-ios-lemon/lemon-ios-service/src/main/resources/bootstrap.yml

@@ -12,6 +12,9 @@ spring:
     name-zh: '打字训练营'
   profiles:
     active: local
+feign:
+  hystrix:
+    enabled: true
 yt:
   port: 8848
   file-extension: yml

+ 4 - 0
yt-question/yt-question-service/pom.xml

@@ -52,6 +52,10 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-aop</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
+        </dependency>
     </dependencies>
 
 

+ 2 - 0
yt-question/yt-question-service/src/main/java/com/ytpm/question/QuestionApplication.java

@@ -7,6 +7,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
 import org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.netflix.hystrix.EnableHystrix;
 import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -22,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
 })
 @EnableDiscoveryClient
 @EnableFeignClients(basePackages = {"com.ytpm.feign"})
+@EnableHystrix
 public class QuestionApplication {
     public static void main(String[] args) {
         SpringApplication.run(QuestionApplication.class, args);

+ 3 - 0
yt-question/yt-question-service/src/main/resources/bootstrap.yml

@@ -79,6 +79,9 @@ server:
     max-threads: 800
     accept-count: 2000
     max-connections: 10000
+feign:
+  hystrix:
+    enabled: true
 yt:
   port: 8848
   file-extension: yml

+ 22 - 5
yt-risk/risk-feign/src/main/java/com/ytpm/feign/fallback/RiskFeignFallBack.java

@@ -10,26 +10,43 @@ import org.springframework.web.bind.annotation.RequestBody;
 
 /**
  * 服务降级配置
+ * @author EDY
  */
 @Component
-public abstract class RiskFeignFallBack implements RiskFeign {
+public class RiskFeignFallBack implements RiskFeign {
+
     @Override
     public Result<?> checkRisk(@RequestBody YtDyzUser ytDyzUser) {
-        return new Result<>(StatusCode.ACCESS_ERR, RepMessage.TOKEN_EXPIRE);
+        return new Result<>(StatusCode.OK, RepMessage.TOKEN_EXPIRE);
     }
 
     @Override
     public Result<?> checkAdRisk(@RequestBody YtDyzUser ytDyzUser) {
-        return new Result<>(StatusCode.ACCESS_ERR, RepMessage.TOKEN_EXPIRE);
+        return new Result<>(StatusCode.OK, RepMessage.TOKEN_EXPIRE);
+    }
+
+    @Override
+    public Result<?> checkAdRisk766(YtDyzUser ytDyzUser) {
+        return new Result<>(StatusCode.OK, RepMessage.TOKEN_EXPIRE);
+    }
+
+    @Override
+    public void addBlockingRecord(String userId) {
+
     }
 
     @Override
     public Result<?> checkRegRisk(@RequestBody YtDyzUser ytDyzUser) {
-        return new Result<>(StatusCode.ACCESS_ERR, RepMessage.TOKEN_EXPIRE);
+        return new Result<>(StatusCode.OK, RepMessage.TOKEN_EXPIRE);
     }
 
     @Override
     public Result<?> checkLoginRisk(@RequestBody YtDyzUser ytDyzUser) {
-        return new Result<>(StatusCode.ACCESS_ERR, RepMessage.TOKEN_EXPIRE);
+        return new Result<>(StatusCode.OK, RepMessage.TOKEN_EXPIRE);
+    }
+
+    @Override
+    public Result<?> checkVisitorLogin(YtDyzUser old) {
+        return new Result<>(StatusCode.OK, RepMessage.TOKEN_EXPIRE);
     }
 }

+ 2 - 0
yt-risk/risk-feign/src/main/resources/META-INF/spring.factories

@@ -0,0 +1,2 @@
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+  com.ytpm.feign.fallback.RiskFeignFallBack