Hystrix
Hystrix是Netflix的库。Hystrix隔离服务之间的访问点,停止服务之间的级联故障,并提供后备选项。
例如,当你调用一个第三方应用程序,它需要更多的时间来发送响应。因此,Hystrix控件将转到后备方法,并将自定义响应返回到您的应用程序。
在本章中,您将看到如何在Spring Boot应用程序中实现Hystrix。
首先,我们需要在构建配置文件中添加Spring Cloud Starter Hystrix依赖项。
Maven用户可以在pom.xml文件中添加以下依赖项-
Maven用户可以将以下依赖项添加到pom.xml文件中。
对于Gradle用户,在build.gradle文件中添加以下依赖项。
现在,将@EnableHystrix注解添加到主Spring Boot应用程序类文件中,@EnableHystrix注解用于将Hystrix功能启用到您的Spring Boot应用程序中。
下面给出了主要的Spring Boot应用程序类文件代码-
现在编写一个简单的Rest Controller,以便它在请求的时间之后3秒后返回String。
现在,为Rest API添加@Hystrix命令和@HystrixProperty并定义以毫秒为单位的超时值。
接下来,如果请求需要较长时间响应,则定义回调方法fallback_hello()。
此处显示了包含REST API和Hystrix属性的完整Rest Controller类文件-
在此示例中,REST API编写在主Spring Boot应用程序类文件本身中。
完整的构建配置文件在下面给出
Maven – pom.xml
Gradle – build.gradle
您可以创建一个可执行的JAR文件,并使用Maven或Gradle命令运行Spring Boot应用程序-
对于Maven,您可以使用以下命令-
在“BUILD SUCCESS”之后,您可以在target目录下找到JAR文件。
对于Gradle,您可以使用以下命令-
在“BUILD SUCCESSFUL”之后,您可以在build/libs目录下找到JAR文件。
您可以使用以下命令运行JAR文件-
现在,该应用程序已使用https在Tomcat端口8080上启动,如下所示-
现在,从您的Web浏览器访问URL http://localhost:8080/,然后查看Hystrix响应。该API需要3秒钟来响应,但是Hystrix超时是1秒(调用了回调函数)。