hystrix-简单使用

pom依赖

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

yml

feign:
  hystrix:
    enabled: true #开启hystrix的服务降级(默认false,不适用hystrix的服务降级)

根据不同的异常,返回不同的信息


@Component
public class WebError implements FallbackFactory<ConsumerApi> {

	@Override
	public ConsumerApi create(Throwable cause) {
		// TODO Auto-generated method stub
		return new ConsumerApi() {
			
			@Override
			public Person postPserson(Person person) {
				// TODO Auto-generated method stub
				return null;
			}
	
			@Override
			public String alive() {
				// TODO Auto-generated method stub
				System.out.println(cause.getLocalizedMessage());
				cause.printStackTrace();
				return ToStringBuilder.reflectionToString(cause);
			}
		};
	}

}		

信号量隔离 与 线程隔离 区别

  • 隔离作用
    客户端的某个模块有问题,不会影响其他的模块

  • 默认情况下hystrix使用线程池控制请求隔离

  • 线程池隔离技术,是用 Hystrix 自己的线程去执行调用;而信号量隔离技术,是直接让 tomcat 线程去调用依赖服务。信号量隔离,只是一道关卡,信号量有多少,就允许多少个 tomcat 线程通过它,然后去执行。

  • 信号量隔离主要维护的是Tomcat的线程,不需要内部线程池,更加轻量级。

  • 线程之间的数据交换消耗性能

  • 线程隔离优点:
    可以做失败策略
    异步请求,解放woker线程阻塞
    线程池内部,服务异常隔离

什么时间用信号量隔离

  • 响应速度极快

  • 压栈服务器性能

  • 服务端业务逻辑不能出问题,否则tomcat线程会除问题

  • 当线程池、tomcatheng’zhuhengzhu

图形化方式查看节点信息

熔断

降级

隔离

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值