Bläddra i källkod

配置监控的服务

gaodm 6 år sedan
förälder
incheckning
c7867dcf23

+ 2 - 0
bi-service/src/main/java/com/diagbot/BiServiceApplication.java

@@ -2,6 +2,7 @@ package com.diagbot;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
 import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
 import org.springframework.cloud.netflix.hystrix.EnableHystrix;
 import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
@@ -17,6 +18,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
 @EnableFeignClients
 @EnableHystrixDashboard
 @EnableHystrix
+@EnableCircuitBreaker
 public class BiServiceApplication {
 
     public static void main(String[] args) {

+ 4 - 3
config-server/src/main/resources/shared/application.yml

@@ -32,12 +32,13 @@ eureka:
 
 
 management:
-  security:
-    enabled: false
   endpoints:
     web:
       exposure:
-        include: '*'
+        include: "*"
+      cors:
+        allowed-origins: "*"
+        allowed-methods: "*"
   endpoint:
       health:
         show-details: ALWAYS

+ 3 - 0
config-server/src/main/resources/shared/monitor-service-dev.yml

@@ -6,6 +6,9 @@ turbine:
     clusterConfig: default
   appConfig: user-service , logger-service
   clusterNameExpression: new String("default")
+  combine-host: true
+  instanceUrlSuffix:
+    default: actuator/hystrix.stream
 
 management:
   security:

+ 2 - 0
diagbotman-service/src/main/java/com/diagbot/DiagbotmanServiceApplication.java

@@ -2,6 +2,7 @@ package com.diagbot;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
 import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
 import org.springframework.cloud.netflix.hystrix.EnableHystrix;
 import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
@@ -17,6 +18,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
 @EnableFeignClients
 @EnableHystrixDashboard
 @EnableHystrix
+@EnableCircuitBreaker
 public class DiagbotmanServiceApplication {
 
     public static void main(String[] args) {

+ 2 - 0
feedback-service/src/main/java/com/diagbot/FeedbackServiceApplication.java

@@ -2,6 +2,7 @@ package com.diagbot;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
 import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
 import org.springframework.cloud.netflix.hystrix.EnableHystrix;
 import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
@@ -17,6 +18,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
 @EnableFeignClients
 @EnableHystrixDashboard
 @EnableHystrix
+@EnableCircuitBreaker
 public class FeedbackServiceApplication {
 
     public static void main(String[] args) {

+ 2 - 0
knowledge-service/src/main/java/com/diagbot/KnowledgeServiceApplication.java

@@ -2,6 +2,7 @@ package com.diagbot;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
 import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
 import org.springframework.cloud.netflix.hystrix.EnableHystrix;
 import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
@@ -12,6 +13,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
 @EnableFeignClients
 @EnableHystrixDashboard
 @EnableHystrix
+@EnableCircuitBreaker
 public class KnowledgeServiceApplication {
 
     public static void main(String[] args) {

+ 3 - 1
log-service/src/main/java/com/diagbot/LogServiceApplication.java

@@ -2,6 +2,7 @@ package com.diagbot;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
 import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
 import org.springframework.cloud.netflix.hystrix.EnableHystrix;
 import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
@@ -15,8 +16,9 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
 @SpringBootApplication
 @EnableEurekaClient
 @EnableFeignClients
-@EnableHystrixDashboard
 @EnableHystrix
+@EnableHystrixDashboard
+@EnableCircuitBreaker
 public class LogServiceApplication {
 
 	public static void main(String[] args) {

+ 2 - 0
monitor-service/src/main/java/com/diagbot/MonitorServiceApplication.java

@@ -2,6 +2,7 @@ package com.diagbot;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
 import org.springframework.cloud.netflix.hystrix.EnableHystrix;
 import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
 import org.springframework.cloud.netflix.turbine.EnableTurbine;
@@ -10,6 +11,7 @@ import org.springframework.cloud.netflix.turbine.EnableTurbine;
 @EnableTurbine
 @EnableHystrixDashboard
 @EnableHystrix
+@EnableCircuitBreaker
 public class MonitorServiceApplication {
 
     public static void main(String[] args) {

+ 21 - 0
user-service/src/main/java/com/diagbot/UserServiceApplication.java

@@ -1,11 +1,17 @@
 package com.diagbot;
 
+import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
 import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
 import org.springframework.cloud.netflix.hystrix.EnableHystrix;
 import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
 import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * @Description: 用户服务启动类
@@ -15,12 +21,27 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
 @SpringBootApplication
 @EnableEurekaClient
 @EnableFeignClients
+@RestController
 @EnableHystrixDashboard
 @EnableHystrix
+@EnableCircuitBreaker
 public class UserServiceApplication {
 
 	public static void main(String[] args) {
 		SpringApplication.run(UserServiceApplication.class, args);
 	}
 
+	@Value("${server.port}")
+	String port;
+
+	@RequestMapping("/hi")
+	@HystrixCommand(fallbackMethod = "hiError")
+	public String home(@RequestParam(value = "name", defaultValue = "gaodm") String name) {
+		return "hi " + name + " ,i am from port:" + port;
+	}
+
+	public String hiError(String name) {
+		return "hi,"+name+",sorry,error!";
+	}
+
 }

+ 1 - 1
user-service/src/main/java/com/diagbot/config/ResourceServerConfiguration.java

@@ -25,7 +25,7 @@ public class ResourceServerConfiguration extends ResourceServerConfigurerAdapter
         http
                 .csrf().disable()
                 .authorizeRequests()
-                .regexMatchers(".*swagger.*",".*v2.*",".*webjars.*","/user/login.*","/user/registry.*","/user/test.*","/druid.*","/actuator.*","/hystrix.*").permitAll()
+                .regexMatchers(".*swagger.*",".*v2.*",".*webjars.*","/user/login.*","/user/registry.*","/user/test.*","/druid.*","/actuator.*","/hystrix.*","/hi.*").permitAll()
                 .antMatchers("/**").authenticated();
 //        .antMatchers("/**").permitAll();
     }