高可用之弹性伸缩

简介: 【2月更文挑战第30天】弹性伸缩旨在实现服务容量按需线性扩展,依赖于敏捷基础设施和资源池共享。它包括弹性扩容、缩容和自愈三个层面。

弹性伸缩的目标是为了实现服务容量线性扩展,即服务容量随服务提供者部署实例的个数线性扩展。弹性伸缩的前提是敏捷基础设施和资源池共享,敏捷基础设施确保应用需要伸缩时能够快速创建出所需的虚拟计算资源,资源池共享确保一个应用释放的资源能被其他应用所使用。


弹性伸缩方案包括弹性扩容、弹性缩容、弹性自愈3个方面的内容:

  • 弹性扩容:前端业务流量激增时,弹性伸缩能够为应用系统快速补充底层服务器资源,避免访问延时和资源超负荷运行。
  • 弹性缩容:前端业务流量下降时,弹性伸缩为应用系统自动完成底层资源释放,避免资源浪费。
  • 弹性自愈:当检测到某台虚拟机实例处于不健康状态时,弹性伸缩自动释放不健康节点并创建新的服务节点,自动挂载新建的服务节点到负载均衡实例中。


依据触发条件及执行方式,弹性伸缩分为自动弹性伸缩和手动弹性伸缩。自动弹性伸缩是指系统根据预设的伸缩策略(一般根据集群的平均CPU、RT和负载等性能指标),由系统按照规则(触发条件)自动执行扩容或者缩容。自动伸缩时,要求负载均衡产品提供API动态挂载及摘除节点的能力。手动弹性伸缩则是在可预期的大促活动前后或者某些业务下线之后,或者人工观测集群在一段时间内的平均负载情况,或者收到资源告警信息等情况,由运维人员主观分析判断后,以人工方式为集群进行扩缩容。


常见的应用进行分类,可以分为如下4种不同类型:

  • 在线任务类型:比较常见的是网站、API服务、微服务等常见的互联网业务型应用。这种应用的特点是对常规资源消耗较多,比如CPU、内存、网络I/O、磁盘I/O等,对于业务中断容忍性差。
  • 离线任务类型:例如大数据离线计算、边缘计算等,这种应用的特点是对可靠性的要求较低,也没有明确的时效性要求,更多的关注点是降低成本。
  • 定时任务类型:定时运行一些批量计算任务是这种应用比较常见的形态,成本节约与调度能力是重点关注的部分。
  • 特殊任务类型:例如闲时计算的场景、物联网(Internet of Things,IoT)类业务、网格计算、超算等,这类场景对于资源利用率有比较高的要求。


为实现弹性伸缩(尤其自动弹性伸缩),应用系统在架构设计时需满足一定条件:

  • 应用必须无状态并且可横向扩展。
  • 弹性伸缩一般为横向同等规格资源扩缩容,不支持纵向的资源规格升降配。
  • 负载均衡产品提供接口动态挂载能力。
  • 访问某些资源服务(如数据库、缓存)需要配置白名单,新扩容的机器必须能够自动加入白名单中。
  • 如果有跨网络安全区域的访问,最好通过统一的服务网关(或NAT网关),以避免新增的机器由于防火墙安全策略的原因无法访问外部服务。
  • 弹性伸缩时要求应用实现优雅上下线的能力,以确保弹性伸缩过程对业务的平滑无感知。
相关文章
|
7月前
|
存储 Kubernetes 监控
基于Kubernetes的电商平台部署:实现高可用、弹性伸缩与容器化管理
基于Kubernetes的电商平台部署:实现高可用、弹性伸缩与容器化管理
|
弹性计算 Kubernetes 监控
SpringCloud 应用在 Kubernetes 上的最佳实践 —— 高可用(弹性伸缩)
关于如何用好弹性伸缩,一直是用户非常关心的问题,本文尝试围绕这个话题,给出一些相关的思考和优化实践。有两种实现弹性伸缩方法,一种是“垂直弹性”,即“Scale Up”,另一种是“水平弹性”,也就是“Scale Out”。
SpringCloud 应用在 Kubernetes 上的最佳实践 —— 高可用(弹性伸缩)
|
9月前
|
弹性计算 缓存 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
136 0
|
9月前
|
弹性计算 缓存 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(二)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(二)
135 0
|
9月前
|
缓存 弹性计算 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(一)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)
168 0
|
12月前
|
存储 弹性计算 负载均衡
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第4天——二、弹性伸缩AS
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第4天——二、弹性伸缩AS
|
弹性计算 运维 监控
阿里云弹性伸缩介绍|学习笔记
快速学习阿里云弹性伸缩介绍
427 0
阿里云弹性伸缩介绍|学习笔记
|
弹性计算 运维 负载均衡
阿里云 “弹性伸缩” 使用体验及避坑指南
搭建弹性伸缩的业务环境共分为三个步骤,分别为:搭建三层架构、配置弹性伸缩、弹性业务验证。
1822 2
阿里云 “弹性伸缩” 使用体验及避坑指南
|
弹性计算 Kubernetes 调度
|
弹性计算 应用服务中间件 Linux
阿里云注册集群—混合集群-配置自动弹性伸缩
本文将为您介绍如何使用混合集群的自动弹性伸缩能力。
940 0
阿里云注册集群—混合集群-配置自动弹性伸缩

热门文章

最新文章