springcloud - hystrix容错

课前强调:rabbion

Ribbon是一个客户端负载均衡器(Nginx 为服务端负载均衡),
它赋予了应用一些支配Http 与 TCP 行为的能力,可以得知,这里的客户端负载均衡也是进程内负
载均衡的一种。
它在Spring Cloud 生态内是一个不可缺少的组件,少了它,服务便不能横向扩展,这显然是由伟云
原生12要素的。
此外 Feign 与 Zuul 中已经默认集成了 Ribbon,在我们的服务之间凡是涉及调用的,都可以集成它并应用,从而使我们的调用链具备良好的伸缩性。
Ribbon是Netflix公司开源的一个负载均衡的项目,它属于上述的第二种
是一个客户端负载均衡器,运行在客户端上。
它是一个经过了云端测试的IPC库,可以很好地控制HTTP和TCP客户端的			  一些行为。 Feign已经默认使用了Ribbon。
- 负载均衡
- 容错
- 多协议(HTTP,TCP,UDP)支持异步和反应模型
- 缓存和批处理

Ribbon的负载均衡策略

- andomRule (随机策略): 随机选择 Server
- RoundRobinRule (轮训策略): 按顺序循环选择 Server
- RetryRule (重试策略): 在一个配置时问段内当选择 Server 不成功,则一直尝试选择一个可用的 Server
- BestAvailableRule (最低并发策略): 逐个考察 Server,如果 Server 断路器打开,则忽略,再选择其中并发连接最低的 Server
- AvailabilityFilteringRule (可用过滤策略): 过滤掉一直连接失败并被标记为 circuit tripped 的 Server,过滤掉那些高并发连接的 Server(active connections 超过配置的网值)
- ResponseTimeWeightedRule (响应时间加权策略): 根据 Server 的响应时间分配权重。响应时间越长,权重越低,被选择到的概率就越低;响应时间越短,权重越高,被选择到的概率就越高。这个策略很		
贴切,综合了各种因素,如:网络、磁盘、IO等,这些因素直接影响着响应时间
- ZoneAvoidanceRule (区域权衡策略): 综合判断 Server 所在区域的性能和 Server 的可用性轮询选择 Server,并且判定一个 AWS Zone 的运行性能是否可用,剔除不可用的 Zone 中的所有 Server

一、核心思路

	现在我们假设一下,服务提供者响应非常缓慢,那么消费者对提供者的请求就会被强制等待,知道服务返回
	在高负载场景下,如果不做任何处理,这种问题很可能造成所有处理用		户的请求的线程都被耗尽
而不能响应用户的进一步请求.

	如果是微服务工程,则很有可能出现服务雪崩效应
	什么是雪崩效应:
		在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用,在Spring cloud 可以
	用RestTemplate + ribbon 或 feign来调用
		为了保证其高可用,单个服务通常会集群部署,由于网络原因或者自身原因,服务并不能保证100%可用,
	如果单个服务出现问题,调用这个服务就会出啊先线程阻塞,
		此时如果有大量请求涌入,servlet容器的线程资源会被消耗完毕,导致服务瘫痪,服务与服务之间的依赖
	性,故障会传播,会对整个微服务系统造成灾难性的严重后果,
		这就是服务故障的雪崩效应,如果不懂,请看下文:

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值