博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Cloud 微服务笔记(六)Spring Cloud Hystrix
阅读量:5034 次
发布时间:2019-06-12

本文共 2052 字,大约阅读时间需要 6 分钟。

Spring Cloud Hystrix

Hystrix是一个延迟和容错库,旨在隔离远程系统、服务和第三方库,阻止链接故障,在复杂的分布式系统中实现恢复能力。

一、快速入门

1)依赖:

org.springframework.cloud
spring-cloud-starter-netflix-hystrix

2)启用断路模式

@SpringBootApplication@EnableHystrix@EnableDiscoveryClientpublic class ClientApplication {    public static void main(String[] args) {        SpringApplication.run(ClientApplication.class, args);    }}

3)降级

@Componentpublic class UserService implements IUserService {    @Override    @HystrixCommand(fallbackMethod = "defaultUser")    public String getUser(String username) throws Exception {        if (username.equals("spring")) {            return "Right user.";        } else {            throw new Exception();        }    }    /**    * 调用该方法返回预设友好错误    * */    public String defaultUser(String username) {        return "Use the default user.";    }}

在Feign中默认是自带Hystrix功能的,在老版本中是默认打开的,从最近几个版本中开始默认

关闭了,所以需要通过配置文件打开它。

二、Hystrix Dashboard

Hystrix Dashboard仪表盘是根据系统一段时间内发生的请求情况来展示的可视化面板,

这些信息是每个HystrixCommand执行过程中的信息。

依赖:

org.springframework.cloud
spring-cloud-starter-netflix-hystrix-dashboard
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
org.springframework.boot
spring-boot-starter-actuator

启用:

SpringBootApplication@EnableDiscoveryClient@EnableHystrixDashboardpublic class HystrixDashboardApplication {    public static void main(String[] args) {        SpringApplication.run(HystrixDashboardApplication.class, args);    }}

三、Hystrix异常处理机制

Hystrix的异常处理中,有5种出错的情况会被fallback所截获:

1)FAILURE:执行失败,抛出异常。

2)TIMEOUT:执行超时。

3)SHORT_CIRCUITED:断路器打开。

4)THREAD_POOL_REJECTED:线程池拒绝。

5)SEMAPPHORE_REJECTED:信号量拒绝。

 

转载于:https://www.cnblogs.com/Shadowplay/p/10608617.html

你可能感兴趣的文章
linux下设置固定IP的方法
查看>>
ubuntu 16.04 (软件应用)-输入法
查看>>
windos7修复引导扇区
查看>>
Leetcode总结之Backtracking
查看>>
Notes: CRM Analytics–BI from a CRM perspective (2)
查看>>
graphite custom functions
查看>>
列出所有的属性键
查看>>
js获取请求地址后面带的参数
查看>>
设计模式のCompositePattern(组合模式)----结构模式
查看>>
RotateAnimation详解
查看>>
系统管理玩玩Windows Azure
查看>>
c#匿名方法
查看>>
如何判断链表是否有环
查看>>
ssh无密码登陆屌丝指南
查看>>
MySQL锁之三:MySQL的共享锁与排它锁编码演示
查看>>
docker常用命令详解
查看>>
jQuery技巧大放送
查看>>
字符串转换成JSON的三种方式
查看>>
Hive时间函数笔记
查看>>
clojure-emacs-autocomplete
查看>>