我是靠谱客的博主 喜悦大船,最近开发中收集的这篇文章主要介绍Spring Cloud学习(八)——Hystrix,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Hystrix容错机制的介绍和使用

1、Hystrix的介绍

1、在不改变各个微服务调⽤关系的前提下,针对错误情况进⾏预先处理。
2、设计原则

  1. 服务隔离机制
  2. 服务降级机制
  3. 熔断机制
  4. 提供实时的监控和报警功能
  5. 提供实时的配置修改功能

Hystrix 数据监控需要结合 Spring Boot Actuator 来使⽤,Actuator 提供了对服务的健康健康、数据统
计,可以通过 hystrix.stream 节点获取监控的请求数据,提供了可视化的监控界⾯。

2、创建Maven工程,配置pom.xml
<dependencies>
 <dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
 <version>2.0.2.RELEASE</version>
 </dependency>
 <dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter-openfeign</artifactId>
 <version>2.0.2.RELEASE</version>
 </dependency>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-actuator</artifactId>
 <version>2.0.7.RELEASE</version>
 </dependency>
 <dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
 <version>2.0.2.RELEASE</version>
 </dependency>
 <dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
 <version>2.0.2.RELEASE</version>
 </dependency>
</dependencies>
3、创建application.yml
server:
 port: 8060
spring:
 application:
 	name: hystrix
eureka:
 client:
   service-url:
 	 defaultZone: http://localhost:8761/eureka/
 instance:
 	prefer-ip-address: true
feign:
  hystrix:
 	enabled: true
management:
  endpoints:
    web:
      exposure:
 	    include: 'hystrix.stream'
3、创建启动类
package com.southwind;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import
org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication
@EnableFeignClients
@EnableCircuitBreaker
@EnableHystrixDashboard
public class HystrixApplication {
  public static void main(String[] args) {
 SpringApplication.run(HystrixApplication.class,args);
  }
}
4、创建Controller
import com.southwind.entity.Student;
import com.southwind.feign.FeignProviderClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Collection;
@RestController
@RequestMapping("/hystrix")
public class HystrixHandler {
 @Autowired
 private FeignProviderClient feignProviderClient;
 @GetMapping("/findAll")
 public Collection<Student> findAll(){
 return feignProviderClient.findAll();
 }
 @GetMapping("/index")
 public String index(){
 return feignProviderClient.index();
 }
}

1、启动成功之后,访问 http://localhost:8060/actuator/hystrix.stream 可以监控到请求数据
2、访问 http://localhost:8060/hystrix ,可以看到可视化的监控界⾯,输⼊要监控的地址节点即可看到该节点的可视化数据监控。

最后

以上就是喜悦大船为你收集整理的Spring Cloud学习(八)——Hystrix的全部内容,希望文章能够帮你解决Spring Cloud学习(八)——Hystrix所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部