SpringCloud使用Hystrix功能

本文深入探讨了服务雪崩现象及其对系统稳定性的影响,介绍了Hystrix框架如何通过断路器、服务降级、熔断和隔离机制来解决服务雪崩问题,保障微服务架构下的系统健康。

一、服务雪崩

1.服务雪崩效应:

1.默认情况下tomcat只有一个线程池去处理客户端发送的所有请求,这样的话,在高并发情况下,如果客户端所有的请求堆积到同一个服务接口上,就会产生tomcat所有线程去处理该服务接口,可能导致其他接口服务,产生延迟和等待。

2.假设Tomcat最大请求数(同时)20,客户端发送请求100,会有80个请求产生延迟等待,默认是线程数是50

3.Feign客户端超时时间配置(默认是1S,超时页面会报错)

4.Feign默认支持ribbon,开启了负载均衡

二、 Hystrix简单介绍

1.Hystrix服务保护框架,能解决断路器、服务降级、服务熔断、服务隔离机制、服务雪崩(2,3,4解决)

2.服务降级:高并发情况下,防止客户一直等待,使用服务降级方式(返回一个友好的提示给客户端,不会去处理请求,调用fallback本地方法,目前是为了用户体验)

   例子:秒杀--当前请求人数过多,请稍后重试

3.服务熔断:目的是为了保护服务,在高并发情况下,如果请求达到了极限(可以自己设置阈值),如果流量超出了设置的阈值,自动开启服务保护功能,使用服务降级方式返回一个友好的提示。服务熔断和服务降级一起使用。

4.服务隔离:线程池隔离(常用)和信号量隔离;每个服务接口都有自己独立的线程池,每个线程池互不影响,缺点:CPU占用率高(不是所有接口采用,核心关键接口)

三、代码实现

1.引入hystrix依赖

2.开启断路器

3.开启Hystrix

4.注解方式:@HystrixCommand(默认阈值是10,需要配)

5.可使用apache Jmeter工具去操作数十万的请求

6.禁止超时时间(默认1S,超过1S就会走熔断/降级)

四、以类的方式实现服务降级隔离的

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值