Spring Cloud Gateway 路由不起作用,Hystrix 仪表板加载崩溃
Spring Cloud Gateway routes do not work and Hystrix Dashboard crashed loading
在来自 youtube 的 tutorial 中,作者使用 Spring Cloud Gateway、Hystrix、Netflix,并使用 [配置路由=36=],但是当我尝试从端点发送数据时,我只是挂在 Hystrix 仪表板上“Loading ...”,在教程中运行良好。 ..
hystrix.stream 运行良好,将他放入 Histrix 仪表板并仅显示“正在加载”
我尝试了另一个教程,但问题仍然存在!
Maven 依赖关系
spring-cloud-starter-netflix-eureka-client
spring-cloud-starter-config
lombok
spring-boot-starter-data-jpa
spring-boot-starter-web
spring-cloud-starter-hystrix:2.7.3.RELEASE
<spring-cloud.version>Hoxton.SR10</spring-cloud.version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
application.yml
spring:
application:
name: API-GATEWAY
cloud:
gateway:
routes:
- id: USER-SERVICE
uri: lb://USER-SERVICE
predicates:
- Path=/user/**
filters:
- name: CircuitBreaker
args:
name: USER-SERVICE
fallbackuri: forward:/userServiceFallBack
- id: DEPARTMENT-SERVICE
uri: lb://DEPARTMENT-SERVICE
predicates:
- Path=/department/**
filters:
- name: CircuitBreaker
args:
name: DEPARTMENT-SERVICE
fallbackuri: forward:/departmentServiceFallBack
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
如果使用@EnableCircuitBreaker 效果很好,问题是使用application.yml 配置spring 云路由?
解决方法很简单,API-GATEWAY 其中hystrix.stream用在端口8789,和 USER-SERVICE 端口 9001,所以你需要使用 API-GATEWAY使用用户端点的端口来处理指标。
API-GATEWAY port: 8789
USER-SERVICE port: 9001
问题:
API-GATEWAY - http://localhost:8789/acturator/hystrix.stream
USER-SERVICE save user - http://localhost:9001/user/
解决方案:
API-GATEWAY - http://localhost:8789/acturator/hystrix.stream
USER-SERVICE save user - http://localhost:8789/user/
指标现在运行良好,Hystrix 仪表板可以正常运行。
在来自 youtube 的 tutorial 中,作者使用 Spring Cloud Gateway、Hystrix、Netflix,并使用 [配置路由=36=],但是当我尝试从端点发送数据时,我只是挂在 Hystrix 仪表板上“Loading ...”,在教程中运行良好。 ..
hystrix.stream 运行良好,将他放入 Histrix 仪表板并仅显示“正在加载”
我尝试了另一个教程,但问题仍然存在!
Maven 依赖关系
spring-cloud-starter-netflix-eureka-client
spring-cloud-starter-config
lombok
spring-boot-starter-data-jpa
spring-boot-starter-web
spring-cloud-starter-hystrix:2.7.3.RELEASE
<spring-cloud.version>Hoxton.SR10</spring-cloud.version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
application.yml
spring:
application:
name: API-GATEWAY
cloud:
gateway:
routes:
- id: USER-SERVICE
uri: lb://USER-SERVICE
predicates:
- Path=/user/**
filters:
- name: CircuitBreaker
args:
name: USER-SERVICE
fallbackuri: forward:/userServiceFallBack
- id: DEPARTMENT-SERVICE
uri: lb://DEPARTMENT-SERVICE
predicates:
- Path=/department/**
filters:
- name: CircuitBreaker
args:
name: DEPARTMENT-SERVICE
fallbackuri: forward:/departmentServiceFallBack
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
如果使用@EnableCircuitBreaker 效果很好,问题是使用application.yml 配置spring 云路由?
解决方法很简单,API-GATEWAY 其中hystrix.stream用在端口8789,和 USER-SERVICE 端口 9001,所以你需要使用 API-GATEWAY使用用户端点的端口来处理指标。
API-GATEWAY port: 8789
USER-SERVICE port: 9001
问题:
API-GATEWAY - http://localhost:8789/acturator/hystrix.stream
USER-SERVICE save user - http://localhost:9001/user/
解决方案:
API-GATEWAY - http://localhost:8789/acturator/hystrix.stream
USER-SERVICE save user - http://localhost:8789/user/
指标现在运行良好,Hystrix 仪表板可以正常运行。