再聊负载均衡SLB的主备可用区和高可用部署最佳实践

本文涉及的产品
公网NAT网关,每月750个小时 15CU
应用型负载均衡 ALB,每月750个小时 15LCU
全球加速 GA,每月750个小时 15CU
简介: 1.概述 阿里云负载均衡SLB的主备可用区提供了多个层级的高可用,可阅读《负载均衡SLB高可用的四个层次》。很多用户常常在下单选购时,对可用区的选择感到困惑。到底如何选择SLB的主备可用区,如何搭配不同可用区的ECS,来构建高可靠应用系统呢?针对这个问题我们来仔细的聊一聊。

1.概述

阿里云负载均衡SLB的主备可用区提供了多个层级的高可用,可阅读《负载均衡SLB高可用的四个层次》。但很多用户常常在下单选购时,对可用区的选择感到困惑。到底如何选择SLB的主备可用区,如何搭配不同可用区的ECS,来构建高可靠应用系统呢?客官请听下文分解。

首先,我们要搞清楚一个事实,负载均衡SLB的可用区设计的初衷,是用来抵御可用区(机房)级别的重大灾情的,比如机房整体掉电,机房出口光缆中断等,即当某个可用区整体不可用时,备可用区才派上用场,也就是说只在上述情况下,SLB的主备可用区才会发生倒换。而并非用户的某个实例出现故障,就会自动发生主备倒换的,这是一个很典型的误区。

image
图注:当可用区A整体不可用时,SLB才会发生主备倒换

那么主备可用区应该如何选择比较合适呢?对于SLB的主可用而言,主要看用户的ECS主要分布在那个可用区,SLB的主可用区和ECS的主可用区保持一致,将获得最小的访问延迟,但是我们并不推荐用户将所有后端ECS都放置与同一可用区中,这是因为一旦可用区出现灾情,用户所有的后端服务器全部都无法提供正常服务,应用系统就彻底瘫痪了。

下文我们分别针对单SLB实例和多SLB实例场景,介绍高可用部署的最佳实践。

2.单SLB实例场景下的高可用部署建议

SLB实例主可用区选择可用区A,备可用区选择可用区B,大部分ECS部署在可用区A,另外一少部分ECS部署在可用区B。这里为之所以将大部分ECS放置与可用区A,而少部分ECS放置于可用区B,是因为SLB绝大部分时间都是主可用区实例在工作(毕竟可用区级别的灾情是非常罕见的),而SLB和ECS处于同一可用区时,拥有最小的访问延迟;同时部署一小部分ECS与可用区B是为了万一出现了可用区A整体不可访问的情况时,可用区B还有ECS可以维持系统的正常工作。而如果所有的ECS都部署在可用区A,那么一旦出现可用区灾情时,整体服务就不可用了。

image

以上介绍的是单SLB实例的高可靠部署方案,虽然用户只购买了一个SLB实例,但是由于SLB本身提供了主备可用区的冗余,因此基本上消除了系统中的单点故障,对于一般的系统应用而言,这样的部署方案已经可以基本满足高可用需求。

但是对于特别重要的业务,对可用性要求极高的业务,单SLB实例的部署方案显得不足了,原因就是上面提到的,只有可用区整体不可用时,才会发生SLB主备切换,因为配置不正确、网络攻击或其他异常因素导致的用户实例不可用,这是由于不满足可用区整体不可用的条件,因此并不会触发主备切换动作,此时用户的业务就有可能受损了,对于这类用户而言,我们建议使用不同可用区多SLB实例的部署方案,详见下文。

3.多SLB实例场景下的高可用部署建议

对系统可用性要求特别高的用户,建议用户在可用区A和可用区B分别购买SLB实例,同样ECS也分别在可用区A和可用区B购买,将可用区A和可用区B的ECS分都挂载于不同可用区的SLB实例后端,前端再使用全球负载均衡(云解析DNS)进行调度,用户通过域名来访问服务。这样部署的好处如下,不论是可用区级别的故障,还是用户SLB实例级别的故障,或者是后端ECS的故障,系统都具备容灾能力,另外由于前端使用了云解析DNS,在遇到访问量突增时,还可以通过横向扩展SLB实例来提升系统的整体处理能力,另外随着企业的逐步发展,还可以通过在异地部署SLB和ECS来实现多地多活的云上业务架构,因此该方案是对系统高可用要求非常高的用户首选部署方案。

image

参考阅读:
《负载均衡SLB高可用的四个层次》

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
25天前
|
弹性计算 监控 负载均衡
|
25天前
|
负载均衡 网络协议 网络安全
SLB-Backend多实例部署配置健康检查
【10月更文挑战第22天】
49 3
|
25天前
|
运维 负载均衡 算法
|
26天前
|
存储 缓存 监控
SLB-Backend跨区域/跨数据中心部署
【10月更文挑战第21天】
36 9
|
26天前
|
弹性计算 缓存 监控
SLB-Backend多实例部署
【10月更文挑战第21天】
32 5
|
3月前
|
负载均衡 Java 对象存储
负载均衡策略:Spring Cloud与Netflix OSS的最佳实践
负载均衡策略:Spring Cloud与Netflix OSS的最佳实践
53 2
|
4月前
|
负载均衡 jenkins 应用服务中间件
大规模部署下的 Jenkins 高可用性与负载均衡
【8月更文第31天】随着软件开发流程的加速,持续集成/持续交付(CI/CD)工具的重要性日益凸显。Jenkins 作为最受欢迎的 CI/CD 平台之一,为企业提供了强大的自动化构建和部署功能。然而,在大规模部署场景下,单一的 Jenkins 实例可能无法满足高可用性和性能的需求。本文将探讨如何设计和实施 Jenkins 高可用集群,以支持大型组织的需求,并通过负载均衡技术来提高系统的稳定性和响应速度。
285 0
|
5月前
|
负载均衡 监控 算法
|
5月前
|
负载均衡 NoSQL 应用服务中间件
搭建高可用及负载均衡的Redis
【7月更文挑战第10天】
150 1
|
5月前
|
Kubernetes Cloud Native 微服务
企业级容器部署实战:基于ACK与ALB灵活构建云原生应用架构
这篇内容概述了云原生架构的优势,特别是通过阿里云容器服务Kubernetes版(ACK)和应用负载均衡器(ALB)实现的解决方案。它强调了ACK相对于自建Kubernetes的便利性,包括优化的云服务集成、自动化管理和更强的生态系统支持。文章提供了部署云原生应用的步骤,包括一键部署和手动部署的流程,并指出手动部署更适合有技术背景的用户。作者建议在预算允许的情况下使用ACK,因为它能提供高效、便捷的管理体验。同时,文章也提出了对文档改进的建议,如添加更多技术细节和解释,以帮助用户更好地理解和实施解决方案。最后,展望了ACK未来在智能化、安全性与边缘计算等方面的潜在发展。水文一篇,太忙了,见谅!

相关产品

  • 负载均衡