高可用之弹性伸缩

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

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


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

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


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


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

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


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

  • 应用必须无状态并且可横向扩展。
  • 弹性伸缩一般为横向同等规格资源扩缩容,不支持纵向的资源规格升降配。
  • 负载均衡产品提供接口动态挂载能力。
  • 访问某些资源服务(如数据库、缓存)需要配置白名单,新扩容的机器必须能够自动加入白名单中。
  • 如果有跨网络安全区域的访问,最好通过统一的服务网关(或NAT网关),以避免新增的机器由于防火墙安全策略的原因无法访问外部服务。
  • 弹性伸缩时要求应用实现优雅上下线的能力,以确保弹性伸缩过程对业务的平滑无感知。
相关文章
|
存储 Kubernetes 监控
基于Kubernetes的电商平台部署:实现高可用、弹性伸缩与容器化管理
基于Kubernetes的电商平台部署:实现高可用、弹性伸缩与容器化管理
|
弹性计算 Kubernetes 监控
SpringCloud 应用在 Kubernetes 上的最佳实践 —— 高可用(弹性伸缩)
关于如何用好弹性伸缩,一直是用户非常关心的问题,本文尝试围绕这个话题,给出一些相关的思考和优化实践。有两种实现弹性伸缩方法,一种是“垂直弹性”,即“Scale Up”,另一种是“水平弹性”,也就是“Scale Out”。
SpringCloud 应用在 Kubernetes 上的最佳实践 —— 高可用(弹性伸缩)
|
1月前
|
弹性计算 人工智能 Serverless
阿里云ACK One:注册集群云上节点池(CPU/GPU)自动弹性伸缩,助力企业业务高效扩展
在当今数字化时代,企业业务的快速增长对IT基础设施提出了更高要求。然而,传统IDC数据中心却在业务存在扩容慢、缩容难等问题。为此,阿里云推出ACK One注册集群架构,通过云上节点池(CPU/GPU)自动弹性伸缩等特性,为企业带来全新突破。
|
弹性计算 缓存 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
229 0
|
7月前
|
弹性计算 监控 开发工具
【阿里云弹性计算】实战教程:如何高效利用阿里云ECS弹性伸缩应对业务高峰
【5月更文挑战第20天】本文介绍了如何使用阿里云ECS弹性伸缩服务应对业务高峰。通过自动调整云资源规模,弹性伸缩在流量增加时扩展实例,流量减少时收缩实例,实现成本与性能的优化。步骤包括开通服务、创建伸缩组、设定规则和监控指标。文中还提供了一个Python脚本示例,并强调了优化策略,如应用无状态设计、考虑冷却时间和结合云监控。通过实践和调整,企业可以有效应对业务波动。
168 5
|
弹性计算 缓存 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(二)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(二)
209 0
|
缓存 弹性计算 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(一)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)
288 0
|
存储 弹性计算 负载均衡
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第4天——二、弹性伸缩AS
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第4天——二、弹性伸缩AS
|
存储 弹性计算 负载均衡
阿里云服务器是一种简单高效可弹性伸缩的计算服务
阿里云服务器是一种简单高效可弹性伸缩的计算服务,阿里云服务器是什么?云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务,云服务器可以降低IT成本提升运维效率,免去企业或个人前期采购IT硬件的成本,阿里云服务器让用户像使用水、电、天然气等公共资源一样便捷、高效地使用服务器
228 0
|
弹性计算 运维 监控
阿里云弹性伸缩介绍|学习笔记
快速学习阿里云弹性伸缩介绍
阿里云弹性伸缩介绍|学习笔记

热门文章

最新文章