背景

原弹性伸缩ESS服务限定,生效的伸缩配置中只能对应一种实例规格,这样就会存在如果生效的配置中的实例规格的库存不足(高配实例规格通常更容易出现库存不足的情况)时, 用户配置好的伸缩规则以及伸缩组对应的报警任务或者定时任务都会失效。尤其是大客户在业务高峰时,需要争分夺秒的弹出高规格实例来应对业务流量时,该问题的影响便更加突出。

适用场景

  • 对伸缩组弹出的实例只关注性能,而不限定于某一种特定规格
  • 业务流量较大,一般用弹性伸缩伸缩高配的实例规格
  • 对弹性伸缩ESS的弹出成功率有较高的成功率要求和较低的时延要求

多实例规格间的优先级

假设用户在生效的伸缩配置中配置了实例规格A和B,弹性伸缩在弹机器时,会按照配置时参数(InstanceTypes.N)的传入顺序,先用实例规格A弹机器,如果无法弹出,再用实例规格B,更多实例规格时,依此类推。可见,伸缩配置的多实例规格其实类似于备选模式而非随机模式。

最佳实践

这里就现有弹性伸缩ESS所支持的特性,推荐在创建伸缩组以及伸缩配置时,同时采用创建多可用区专有网络伸缩组以及创建多实例规格的伸缩配置。
说明如下:

  • 1.在目标地域下创建好专有网络,以及多个可用区下的交换机
  • 2.在目标地域下创建伸缩组,选择对应的专有网络,并选择多个交换机(尽量选择不同可用区的交换机,合理利用不同可用区的库存),详见创建多可用区专有网络
  • 3.伸缩组创建完毕后,创建伸缩配置时,可勾选多个(不超过10个)实例规格,可按照cpu/内存/主频/内网带宽/内网收发包等不同维度选择相近的多个实例规格
  • 4.多选的实例规格要求同属于io优化或非io优化,因为io优化与非io优化的购买配置相差较大,如果对应实例规格能同时选,也很难增加弹机器的成功率
  • 5.伸缩配置创建完成后,【启用配置】->【启动伸缩组】->【配置伸缩规则】->【配置相关报警或定时任务】

控制台创建多实例规格

下面介绍下在弹性伸缩ESS控制台如何配置多实例规格的伸缩配置
1.进入目标伸缩组的伸缩配置页面,点击【创建伸缩配置】

2.在伸缩配置创建页面,选择多个实例规格(比如可选择cpu/内存相同的实例规格)

3.创建完成后,可在伸缩配置页面查看对应的多实例规格的伸缩配置

4.通过启用多实例规格的伸缩配置,就可以在遇到弹特定规格库存不足等情况时,自动为用户切换到备选的实例规格上,增加弹出机器的成功率

如果想查看多可用区以及多实例规格的SDK使用方式,可前往:

阅读原文

ESS控制台发布新功能:创建多实例规格的伸缩配置的更多相关文章

  1. 阿里云函数计算发布新功能,支持容器镜像,加速应用 Serverless 进程

    我们先通过一段视频来看看函数计算和容器相结合后,在视频转码场景下的优秀表现.点击观看视频 >> FaaS 的门槛 Serverless 形态的云服务帮助开发者承担了大量复杂的扩缩容.运维. ...

  2. Sitecore 9 您应该了解的所有新功能和变化

    信不信由你,当我谈论Sitecore时,我感到非常兴奋.这是一个充满潜力和机遇的伟大平台 如果你能想象一个刚刚进行过一次双重训练的人,一个特大号的星巴克,并且刚刚在创纪录的时间内完成了中国忍者勇士的障 ...

  3. 3.0.0 alpha 重磅发布!九大新功能、全新 UI 解锁调度系统新能力

    2022 年 4 月 22 日,Apache DolphinScheduler 正式宣布 3.0.0 alpha 版本发布!此次版本升级迎来了自发版以来的最大变化,众多全新功能和特性为用户带来新的体验 ...

  4. Docker 1.12.0将要发布的新功能

    Docker 1.12.0将要发布的新功能 导读 按计划,6/14 是1.12.0版本的 feature冻结 的日子,再有两个星期Docker 1.12.0也该发布了.这里列出来的新功能,都是已经合并 ...

  5. Bash 5.0 发布及其新功能

    导读 邮件列表证实最近发布了 Bash-5.0.而且,令人兴奋的是它还有新的功能和变量.如果你一直在使用 Bash 4.4.XX,那么你一定会喜欢 Bash 的第五个主要版本. 第五个版本侧重于新的 ...

  6. PyCharm 2019.3发布,增加了哪些新功能呢?

    Python的IDE(Integrated Development Environment 集成开发环境)非常多,如:VS Code.Sublime.NotePad.Python自带编辑器IDLE.J ...

  7. 用chrome的snippets片段功能创建页面js外挂程序,从控制台创建js小脚本

    用chrome的snippets片段功能创建页面js外挂程序,从控制台创建js小脚本 Chrome的snippets是小脚本,还可以创作并在Chrome DevTools的来源面板中执行.可以访问和从 ...

  8. 004-spring-data-elasticsearch 3.0.0.0使用【二】-spring-data之定义方法、创建repository实例、从聚合根发布事件

    续上文 1.4.定义方法 存储库代理有两种方法可以从方法名称派生特定于存储的查询.它可以直接从方法名称派生查询,或者使用手动定义的查询.可用选项取决于实际store.但是,必须有一个策略来决定创建什么 ...

  9. Redis 6.0 正式版终于发布了!除了多线程还有什么新功能?

    Redis 6.0.1 于 2020 年 5 月 2 日正式发布了,如 Redis 作者 antirez 所说,这是迄今为止最"企业"化的版本,也是有史以来改动最大的一个 Redi ...

随机推荐

  1. javascript 遍历

    数组的遍历你都会用了,那Promise版本的呢 这里指的遍历方法包括:map.reduce.reduceRight.forEach.filter.some.every因为最近要进行了一些数据汇总,no ...

  2. 虚拟机安装Ubuntu的上网设置(有线网络和无线网络)

    (恩,是转的) 虚拟机下ubuntu共享方式上网: 一. 有线网络 在有线网络的条件下,vmware的安装非常简单,上网方式几乎不用怎么设置(默认NAT模式)     如果默认情况下不能上网,则按以下 ...

  3. Ruby(2): 基本语法上

    表达式和变量: 这两点和其他主流的编程语言基本没有差别,这里直接跳过. 需要注意的是 ruby中 x=x+1 可以写成 x+=1 但是不支持 x++ , x-- 等一元运算符  比较运算符和表达式: ...

  4. Oracle执行计划的查看

    前言 一个系统在刚开始的时候,由于数据库中数据量不大,开发人员的主要精力都在业务与功能实现上.系统完成部署上线后随着时间的累积,每个表中的数据都在不断增长,我们往往会发现系统越来越慢,这可能是程序设计 ...

  5. (一)JNI基本概念

    1. 基本概念: 首先,注意:C和C++在调用JNI时候方法是不一样的 注意看下面两个的区别: C++ #include <jni.h> #include <string> e ...

  6. C# HttpHelper

    public enum HttpVerb { Get, Post } public class HttpHelper { private string _contentType = "app ...

  7. Command操作数据

    Command常用属性 CommandText             要下达至数据源的命令 CommandTimeout          出错时等待时间 //定义一个变量来存储对数据库操作的字符串 ...

  8. WPF的MediaElement指定Source无法播放问题解决

    最近学wpf,在使用 MediaElement 指定 Source 进行视频播放时,在源码界面可以正常显示,但运行时控件显示空白. 源码界面如下图:(可正常显示) 运行后如下图所示:(控件位置显示空白 ...

  9. JavaScript中自定义函数以及文本框、radio、下拉框的值的获取,结合淘宝竞拍案例来理解。。。

    淘宝竞拍案例: HTML部分代码: <form action="#" method="post"> <h2>欢迎进入淘宝竞拍</h ...

  10. node错误集合

    1.端口被占用 node .\app.js events.js:167 throw er; // Unhandled 'error' even 解决办法:8888端口被占用了,更改一个端口就好 2. ...