概述
本文将介绍以下内容:
- Hystrix简介
- Dubbo接入Hystrix
Hystrix简介
Hystrix是Netflix开源的一款容错系统,主要用于解决服务提供者不可用带来的服务雪崩效应。Hystrix容错方案主要有以下几种:
- 熔断:只作用在服务调用者,即consumer端,熔断器开关由关闭到打开的状态转换是通过当前服务健康状况(请求失败数 / 请求总数)和设定阈值比较决定的。
- 降级:当某个服务熔断之后,服务器将不再被调用,此时客户端可以自己准备一个本地的fallback回调,返回一个缺省值。
- 限流(隔离):采用线程/信号的方式,通过隔离限制依赖的并发量和阻塞扩散
- 异步RPC:将同步RPC调用转为异步调用。
Dubbo接入Hystrix
Dubbo是通过Filter接入Hystrix的。
新建DubboHystrixCommand
设置Hystrix相关参数
package com.beidao.dubbo.hystrix.command;
import com.alibaba.dubbo.common.URL;
import com.alibaba.dubbo.common.logger.Logger;
import com.alibaba.dubbo.common.logger.LoggerFactory;
import com.alibaba.dubbo.rpc.Invocation;
import com.alibaba.dubbo.rpc.Invoker;
import com.alibaba.d