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

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
公网NAT网关,每月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高可用的四个层次》
《结合云解析实现跨地域负载均衡》

相关实践学习
通过ACR快速部署网站应用
本次实验任务是在云上基于ECS部署Docker环境,制作网站镜像并上传至ACR镜像仓库,通过容器镜像运行网站应用,网站运行在Docker容器中、网站业务数据存储在Mariadb数据库中、网站文件数据存储在服务器ECS云盘中,通过公网地址进行访问。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
2月前
|
负载均衡 网络协议 算法
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
|
2月前
|
网络协议 Linux C语言
Intel HDSLB 高性能四层负载均衡器 — 基本原理和部署配置
本篇主要介绍了 Intel HDSLB 的基本运行原理和部署配置的方式,希望能够帮助读者们顺利的把 HDSLB-DPVS 项目 “玩” 起来。
165 9
Intel HDSLB 高性能四层负载均衡器 — 基本原理和部署配置
|
8天前
|
运维 Kubernetes 负载均衡
Kuberntes部署MetalLB负载均衡器
Kuberntes部署MetalLB负载均衡器
18 1
|
3天前
|
负载均衡 应用服务中间件 开发工具
技术笔记:nginx和keeplive实现负载均衡高可用
技术笔记:nginx和keeplive实现负载均衡高可用
|
2月前
|
Kubernetes 负载均衡 应用服务中间件
k8s 二进制安装 优化架构之 部署负载均衡,加入master02
k8s 二进制安装 优化架构之 部署负载均衡,加入master02
|
2月前
|
负载均衡 网络协议
NAT模式 LVS负载均衡部署
NAT模式 LVS负载均衡部署
|
2月前
|
存储 缓存 运维
解密一致性哈希算法:实现高可用和负载均衡的秘诀
解密一致性哈希算法:实现高可用和负载均衡的秘诀
306 0
|
2月前
|
Kubernetes 负载均衡 监控
Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装
Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装
|
2月前
|
缓存 负载均衡 算法
【Nginx】静态资源部署、反向代理、负载均衡
【Nginx】静态资源部署、反向代理、负载均衡
120 0
|
2月前
|
tengine Kubernetes Cloud Native
Tengine-Ingress 高性能高可用的云原生网关
Tengine-Ingress 高性能高可用的云原生网关

相关产品

  • 负载均衡