弹性伸缩部署

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,182元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
云原生网关 MSE Higress,422元/月
简介:

本文旨在通过介绍弹性伸缩技术以及弹性伸缩系统这款中间件产品,让开发同学了解到运维自动化给我们带来的便捷与保障。

从业务生命周期而言,正处上升期的应用,访问量可能每月甚至每周成指数倍数地增长,当你在为业务快速发展、脱颖而出而畅想自high:哥写得一手牛逼代码即将要支撑起阿里未来五年的腾飞了!!啪,程序运行FGC,啪,调用方超时,啪,触发限流~也许这已经是最近第N次的报警,也许这是最近第N次调用方打电话过来投诉,也许这是最近第N次的扩容……还能不能好好玩耍,专心把代码撸到极致?!业务下降期的应用或许已经不再投入开发,你是否曾想过线上其实早已不需要那么多的机器资源了,如果折算成RMB,这每天到底是有多少张毛爷爷从口袋白白飞走?不能再任性了,快让应用弹起来,让有限的计算资源服务到优质的业务上吧!

一、弹性伸缩的原理

弹性伸缩(Auto Scaling)是根据不同的业务需求与策略,自动调整应用的弹性计算资源,最终达到优化资源组合的服务能力。通过 自动伸缩  计划伸缩 这两种工作模式,应用便能在无运维人员介入的情况下实现自动调整计算资源,当访问量上涨时增加计算能力,而当访问量下降时减小计算能力,既保障了系统的稳定性与高可用性,又节约了计算资源成本。

弹性伸缩在业界有两个方向,一个是垂直化的扩展(Scale up),一个水平化的扩展(Scale out)。从业务发展的角度来看应该是水平扩展的能力,这要求业务都是无状态的,通过负载均衡技术将访问请求分配到集群每一台机器上,不管是增加还是减少机器,业务的连续性都不应受到影响。

二、基于弹性伸缩的系统运维架构图


在此模型中,展示层为用户交互,接受和呈现信息,主要表现为:
弹性伸缩监控大盘:用于全局监控接入弹性平台应用的运行状态,以及配置应用的弹性伸缩规则;
应用成本分析展示:用于呈现应用使用的资源成本,包括计算资源、存储资源、网络与带宽资源、CDN资源等;
虚拟计费(待定):通过虚拟货币形式来衡量应用运行的费用开销情况。

逻辑层为运维自动化的核心,主要表现为:
弹性伸缩系统:应用弹性伸缩、虚拟化计算资源调度的智能规则引擎;
自动化部署:新应用上线、集群扩容和缩容的自动化工具;
计算资源分配:虚拟化计算资源的创建与回收的虚拟化基础设施。

资源层为计算、存储、网络、CDN等基础设施资源。

三、计算资源弹性伸缩模型


 

四、弹性伸缩策略

观察模式

模拟弹性伸缩的过程,弹性伸缩系统将会通过旺旺和邮件通知应用负责人以及运维人员什么时候要扩容或缩容、涉及的机器数,但是不会真正触发扩容和缩容的这个动作,此外,还可以在人工确认的情况下,手动触发扩容和缩容。简而言之,观察模式可以理解为应用接入弹性伸缩系统的一重保障。

自动伸缩

根据日常负载情况,计算应用所需的计算资源,以此达到降低成本、提升稳定性的目的。

1.
伸缩范围
最大实例数: 接入弹性前,集群的机器总数
(说明:当前应用有充足机器容量)
最小实例数: max(前七天qps峰值) / 单机QPS极限值 * 60%
(说明:最小实例数,前期阶段不会直接探底,会留有一部分余量)

2.
伸缩规则
扩容条件
1)集群水位超过40%
2)每个CPU的等待队列长度大于0.5     cpu_avg超过50%     rt升高百分比超过300%
持续时间超过2分钟


缩容条件
1)集群水位低于13%
2)每个CPU的等待队列长度小于0.2      cpu_avg小于15%
持续时间超过5分钟

3.
期望水位: 35% 

备注:
集群水位 = 集群QPS / (单机QPS极限值 * 机器数)
单机QPS极限能力: csp单机压测值

计划伸缩

计划伸缩也称作定时伸缩,应用场景主要是根据计划提前做好各个系统的容量准备,以便承受可预见的瞬间访问高峰。举个例子,运营同学A准备今天要一次广告投放引流,一大波流量正在逼近!!假如A将预计引流PV总量事前告知弹性伸缩系统,提前将应用容量准备好,多少的流量过来都妥妥的了,真是深藏功与名~

全链路伸缩

复用自动化备战平台功能,根据预计交易创建笔数以及机房流量分配进行系统容量准备。

机器下线规则

  1. 首先计算出应用缩容的机器数量;
  2. 通过CMDB获取到下线机器列表,同时调用发布系统接口将beta机器加入到下线排除机器列表,如果有特殊需要排除的机器,需要在弹性伸缩系统上手动添加;
  3. 分批下线机器,以尽可能减小对业务访问造成抖动。
相关文章
|
SQL Oracle 关系型数据库
Oracle查询优化-处理空值
【1月更文挑战第1天】【1月更文挑战第1篇】数据库中的空值(例如:NULL或者 '')会导致一些不可预知的错误,因此需要在查询时就要处理好,确保数据查询的准确性,减轻代码压力。
398 0
|
SQL 分布式计算 数据处理
图文详解:DataHub产品概述
阿里云流数据处理平台DataHub是流式数据(Streaming Data)的处理平台,提供对流式数据的发布 (Publish),订阅 (Subscribe)和分发功能,让您可以轻松构建基于流式数据的分析和应用。
3087 0
|
8月前
|
存储 安全 大数据
数据安全中心:云上全域数据防泄漏与安全解决方案
在数字化转型中,企业面临数据安全挑战。为应对《个人信息保护法》等法规要求,我们推出“数据安全中心”,提供云上全域数据防泄漏与安全解决方案。该产品涵盖敏感数据自动识别、分级分类、大数据审计、数据脱敏及列加密等功能,帮助企业轻松实现数据治理,确保合规并保护客户信任。欢迎参加12月11日晚7:30阿里云中小企业直播间了解更多。
183 2
|
11月前
|
监控 安全 测试技术
进行API安全审计时,应该关注哪些关键点?
在进行API安全审计时,应关注API资产管理、身份验证与授权、数据加密、输入验证、错误处理、日志记录与监控、敏感数据保护、API网关使用、安全测试、合规性检查、异常检测、响应计划、API文档与版本控制及自动化安全措施等关键点,以提升API安全性,保护企业和用户数据安全。
453 1
|
10月前
|
存储 缓存 算法
配置中心的优势是什么?
【10月更文挑战第24天】配置中心的优势是什么?
269 1
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
Tokenformer:基于参数标记化的高效可扩展Transformer架构
本文是对发表于arXiv的论文 "TOKENFORMER: RETHINKING TRANSFORMER SCALING WITH TOKENIZED MODEL PARAMETERS" 的深入解读与扩展分析。主要探讨了一种革新性的Transformer架构设计方案,该方案通过参数标记化实现了模型的高效扩展和计算优化。
544 0
|
10月前
|
存储 安全 关系型数据库
2024 Mysql基础与进阶操作系列之MySQL触发器详解(21)作者——LJS[你个小黑子这都还学不会嘛?你是真爱粉嘛?真是的 ~;以后请别侮辱我家鸽鸽]
MySQL触发器的使用场景之数据完整性约束、如何具体创建person的日志表、触发器与存储过程的对比与选择、触发器的性能和注意事项等具体操作详解步骤;举例说明、注意点及常见报错问题所对应的解决方法
|
12月前
|
缓存 网络协议 分布式数据库
超级好用的C++实用库之DNS解析
超级好用的C++实用库之DNS解析
243 0
|
存储 SQL 关系型数据库
MySQL数据库——存储过程-变量(系统变量、用户定义变量、局部变量)
MySQL数据库——存储过程-变量(系统变量、用户定义变量、局部变量)
1044 0
|
NoSQL Java 应用服务中间件
使用Redis和Nginx分别实现限制接口请求频率
这篇文章介绍了如何使用Redis和Nginx分别实现限制接口请求频率的方法,包括具体的命令使用、代码实现和配置步骤。
255 0

热门文章

最新文章