让您的应用程序在 Bluemix 上富有弹性

为了演示 Bluemix Auto-Scaling Add-On 的工作原理,我们首先给出一个简单、基于 Web 的 Java™ 应用程序,它通过计算 1000 以内的素数来模拟高 CPU 利用率。该应用程序在 Bluemix Liberty for Java 运行时上运行。接下来,我们将设置一个自动扩展策略,它包含一个下限和一个上限,我们还将使用 Jmeter 工具增加应用程序上的工作负载。从自动扩展仪表板,我们可以监视 CPU 利用率的增长,在它达到策略中指定的上限时添加一个实例(基于策略中设置的规则)。应用程序被扩展为两个实例,工作负载在旧和新实例之间达到平衡。应用程序在增加的工作负载下安全地运行。


可以按照这些分步操作说明来实现 Bluemix Auto-Scaling Add-on,让您的应用程序更加灵活。

完成您的应用程序的前提条件

 
  1. 一个 Bluemix ID
  2. 示例文件 Sample4AutoScaling.war(从 IBM DevOps Service 下载)

第 1 步. 入门

0
 
  1. 熟悉 Bluemix 仪表板。
  2. 安装 Cloud Foundry 命令行工具 (CLI) 并学习如何使用它。

第 2 步. 将示例应用程序推送到 Bluemix

0
 
  1. 使用该 CLI 登录到 Bluemix:
        
        
    1
    2
     
    cf api https: //api.ng.bluemix.net/
    cf login -u <user name> -p <password>
  2. 打开一个命令窗口,将目录更改为包含示例应用程序 sample4autoscaling.war 的文件夹。
  3. 使用 cf push 命令行推送该应用程序:
        
        
    1
     
    cf push <app name> -m 512 m -p sample4autoscaling.war

    备注:<app name> 是一个惟一的应用程序名称。名称 sample4autoscaling 被用作示例应用程序的名称。请为您自己的推送使用一个不同的名称,以避免出现消息 host name is taken or the URL was not available

    请确保您的组织为示例应用程序的实例保留了至少 1GB 内存。

  4. 完成第 3 步后,登录到 Bluemix 仪表板。找到该应用程序并确认它的状态为 running。单击仪表板中显示的 URL 转到示例应用程序。sampl4autoscaling 的屏幕截图

    备注:Bluemix 中的 Auto-Scaling 特性支持 Liberty for Java 运行时、Node 应用程序、Ruby 应用程序和您自己的应用程序(例如 .NET 或 Go)。要支持更多应用程序类型,请在执行cf push 步骤时提供自定义构件包的链接。

第 3 步. 为应用程序启用 Auto-Scaling 功能

0
 
  1. 转到您应用程序的 Overview 页面。单击 CONNECT AN ADD_ONCONNECT AN ADD-ON 按钮的屏幕截图
  2. 单击 Add-On 列表中的 Auto-Scaling插件列表中的 Auto-Scaling 的屏幕截图
  3. 阅读操作说明和许可条款。接受条款后,单击 CREATEConnect and Add-On 窗口中的 CREATE 按钮的屏幕截图
  4. 完成连接后,系统会提示您重新呈现该应用程序。单击 OK 重新呈现应用程序。
  5. 此刻,Auto-Scaling Add-On 会在您的应用程序下列出。

第 4 步. 创建一个自动扩展策略

0
 
  1. 单击 Policy Configuration 选项卡上的 CREATE AUTO SCALING POLICYCREATE AUTO SCALING POLICY 的屏幕截图
  2. 为每个字段指定合适的值并保存该策略。这些字段已在 Bluemix 文档 中解释。对于示例应用程序,可以使用以下设置:
    • 对于 Metric Type:指定 CPU
    • 对于 Scale Out:指定上限 60%。
    • 对于 Scale In:指定下限 10%。
    • 对于 Statistic Window 和 Breach Duration:指定 30 秒(最小值),以便对是否扩展应用程序的决策应用最高的灵敏度级别。
    • 对于扩展和精减的 Cooldown period:指定 300 秒。
    指定了值的扩展规则的屏幕截图

    设置扩展策略的技巧

    • 如果应用程序的工作负载在短期内的增长非常快,那么可以将 Breach Duration 设置为一个较小的值,让您的应用程序能够提前扩展,避免超出 CPU 或内存容量和应用程序崩溃。
    • 如果您选择的 Metric TypeCPUMemory 或 Heap)在短期内增高并降低,可以为Statistic Window 指定一个更高的值。为了确定您的应用程序的 CPU 利用率是否超出了上限或下限,Auto-Scaling 会考虑一个时间范围(在 Statistic Window 参数上指定的值)内的指标数据并计算平均值。为 Statistic Window 指定的值越高,它选择用来计算应用程序是否达到上限或下限的数据范围就越宽。
    • 第一次扩展完成后,第二次扩展在 Cooldown 期限过去后才能触发。此做法提供了足够的时间让应用程序状态变得稳定。出于演示用途,我们为 Cooldown 指定一个较短的期限,对于生产环境,可以使用较长的期限。
  3. 单击 Save 保存您的策略。要完成编辑流程并查看策略摘要,可以单击 Policy Configuration 选项卡上的 BackSampleCPUPolicy 的 Policy Configuration 窗口
  4. 要检查应用程序的实时资源使用情况并查看扩展策略中设置的阈值,可以单击 Metrics Statistics 选项卡。CPU 量表显示 .03%,条形图显示了上限和下限。

第 5 步. 向示例应用程序添加工作负载并监视它的资源使用

0
 
  1. 下载 Jmeter 工具 2.11 版(或更高版本)
  2. 解压它,如果在 Windows™ 上,则运行 jmeter.bat;如果在 Linux® 上,则运行 jmeter.sh。

    备注:将 JRE 安装在运行 Jmeter 的机器上。

  3. 创建一个名为 Script4AutoScaling.jmx 的本地文件,并将 Jmeter 参数配置文件Script4AutoScaling.jmx 的内容复制到您的本地文件。
  4. 打开 Jmeter 工具。单击 File > Open Sample4AutoScaling.jmx(已在上一步中下载)。编辑 HTTP Request 并将 Server Name or IP 从 sample4autoscaling.mybluemix.net 更改为 <your app name>.mybluemix.netHTTP Request 窗口的屏幕截图,其中突出显示了 Server Name or IP 字段
  5. 要打开 Aggregate Report 来查看请求状态,可以单击 Run > Start具有 HTTP 请求统计数据的 Aggregate Report 的屏幕截图
  6. 在 Bluemix 上,打开自动扩展仪表板并切换到 Metrics Statistics 选项卡。请注意,随着 Jmeter 增加发往应用程序的并发请求的数量,CPU 利用率会增长。当 CPU 利用率在 30 秒内(breach duration)达到 60%(上限)时,就会创建一个新实例,总实例数会变为 2。该线图显示了 30 秒内的 CPU 利用率,峰值达到了上限。 橙色条表示创建新实例。Metrics Statistics 选项卡显示 Select Application Instance 下拉框列出了 2 个实例
  7. 现在单击 Scaling History 选项卡来检查您的扩展活动的记录。不同期限的选项卡列出了自动扩展功能所做的实例数量调整

结束语

0
 

现在,您已经知道了如何将一个应用程序部署在 Bluemix 上,并为它启用 Auto-Scaling 功能。我们希望您觉得 Auto-Scaling Add-On 缺失很容易使用,它可以帮助您改善应用程序的弹性,并会在您在 Bluemix 上工作时为您降低总体成本。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值