熔断和负载均衡

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 【8月更文挑战第20天】

综合了负载均衡算法和熔断措施地方案
放开流量是在服务端处理的,也就是服务端还是收到了100%的流量,只不过有部分流量会被放过去并且被正常处理。
一个自然的想法是为什么不直接让客户端来控制这个流量
)
这里进一步结合在负载均衡里提到的根据调用结果来调整负载均衡策略的讨论,可以让客户端也采用这种负载均衡策略。

整体流程:

  1. 服务端在触发熔断的时候,会返回一个代表熔断的错误
  2. 客户端收到这个错误之后,会把这个服务端节点暂时挪出可用节点列表。后续所有熔断请求都不会打到这个节点上了
  3. 客户端等待一段时间后,逐步放开流量
  4. 如果服务端正常处理了新来的请求,就让客户端加大流量
  5. 如果服务端再次返回了熔断响应,客户端就会再一次把这个节点挪出可用列表
  6. 如此循环,直到完全恢复

可以这么回答,关键词是负载均衡

整体思路是利用负载均衡来控制流量。如果一个服务端节点触发了熔断,那么客户端在做负载均衡的时候就可以将这个节点挪出可用列表,后续请求会发给别的节点。在经过一段时间之后,客户端可以尝试发请求给该节点。如果该节点正确处理了,那客户端就可以加大流量。否则客户端就要再一次等待一段时间。

万一所有可用节点都触发熔断了,应该怎么办?

这个方案是需要兜底的,比如说如果因为某些原因数据库出问题,导致某个服务所有的节点都触发了熔断,那么客户端就完全没有可用节点了。不过这个问题本身熔断解决不了,负载均衡也解决不了,只能通过监控告警之后人手工介入处理了。

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
4月前
|
Kubernetes 负载均衡 应用服务中间件
在k8S中,什么是负载均衡器?
在k8S中,什么是负载均衡器?
|
4月前
|
负载均衡 Kubernetes 开发工具
k8s相关服务与负载均衡
k8s相关服务与负载均衡
51 0
|
7月前
|
负载均衡
Ribbon负载均衡策略
Ribbon负载均衡策略
|
7月前
|
弹性计算 运维 负载均衡
负载均衡介绍
阿里云负载均衡SLB介绍
70 1
|
7月前
|
负载均衡 算法 Java
Ribbon的负载均衡策略
Ribbon的负载均衡策略
88 2
|
7月前
|
负载均衡 网络协议 算法
|
7月前
|
负载均衡 算法
Envoy 负载均衡与限流设计
【2月更文挑战第29天】Envoy负载均衡策略包括优先级、恐慌阈值、区域感知和资源限制。它按优先级分配流量,使用恐慌阈值避免健康节点过载,实现区域内的首选服务选择,并通过资源管理限制上游集群的连接和请求数。此外,Envoy提供全局限流功能,在网络和HTTP层面对通信进行控制,确保服务器稳定性。
|
负载均衡 网络协议 算法
对负载均衡的全面理解
对负载均衡的全面理解
96 1
|
负载均衡 算法 网络协议
|
缓存 负载均衡 算法
负载均衡浅谈
在互联网尤其是移动互联网行业中一旦用户量达到一定数量级别之后,会面对高并发和海量数据的挑战,面对这种挑战必须提升系统整体的性能,可以采用垂直扩展和水平扩展两种方式。负载均衡是一种水平扩展的方式,它是建立在现有网络结构之上,它提供了一种有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
226 0
负载均衡浅谈