当微服务在 Spring 启动中暂时不可用时,如何实现恢复机制?



我正在学习微服务通信,我开发了一个具有以下技术的金融交易应用程序:Spring Boot,Spring MVC,Spring Data JPA和Hibernate验证器。

有 2 个微服务,第一个微服务用于验证,它是一个带有 POST 方法的 REST API。第二个微服务用于持久性。2 个微服务之间的通信是异步的,我正在使用 JMS 和 ActiveMQ。

之后,我需要为其中一个微服务暂时不可用的情况开发一种恢复机制。有人可以告诉我如何执行此恢复机制吗?提前谢谢你!

您可以使用 Hystrix 框架来使用断路器。它只是用代理包装你的类,如果你的方法根据你的配置认为"不起作用",它会把你的调用重定向到回退方法。 庞.xml

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>

主应用

@EnableCircuitBreaker
public class AppName {}

运行业务方法的类

@Service
public class ClassName {
...
@HystrixCommand(fallbackMethod="fallbackMethodName")
<method signature> {
}
…
<method signature> fallbackMethodName(...) {
...
}
}

最新更新