当前位置: 代码迷 >> 综合 >> 【CDP-云设计模式】第4章,9.预定的横向扩展模式(Scheduled Scale Out Pattern)
  详细解决方案

【CDP-云设计模式】第4章,9.预定的横向扩展模式(Scheduled Scale Out Pattern)

热度:74   发布时间:2023-12-15 13:52:23.0

1.要解决的问题

  当处理构建在云环境中的web服务的大流量拥塞时,横向扩展模式是很有效的。然而,在访问量迅速增加(例如在不到5分钟内流量翻倍)时,通过监测负载状态来手动添加虚拟服务器或根据虚拟服务器的负载状态自动增加实例可能都不能满足需求。

2.云模式的说明

  当提前知晓某一时刻访问量会骤增,则可以通过预先设置来使用横向扩展。虽然这个基础架构很像横向扩展模式,但关键的不同点就在于这个是通过预先规定好时间来执行横向扩展。你可以提前完成横向扩展从而能更健壮地处理流量的骤增,并且在访问量骤增前立刻执行扩展从而减少损失。

3.实施

  AWS中的Auto Scaling有一项更改设置可以指定时间。可以使用这个功能来配置计划的横向扩展。当预期的访问量下降时,你同样可以通过指定一个时间段来执行缩小规模。

  • 参考横向模式来设置Auto Scaling(包括扩展和缩减触发器)。

  • 为增加EC2实例数量指定一个时间,并将“实例最小数量(—min-size)”设置为所要提供的实例数量。在指定时间时,将会创建新的实例以达到指定的实例最小规模。

  • 如果实例的最低数目在指定时间内随着负载的减少而降低,那么将会依据所设定的触发器而执行规模缩小Scale-in。

4.配置

图1

5.好处

  • 在能预先估计流量时,可以按计划来增加EC2实例的数量。

  • 由于当流量降低时,EC2实例的数量也会相应减少,从而可以降低成本。

  • 和纵向扩展相比,由于可以在ELB的控制下并行地提供所需数量的EC2实例,所以其处理能力的上限变得非常高。

6.注意事项

  • 需注意所指定的时间是依据世界调整时间(UTC)而定的。

  • 当流量出现骤增时,除了EC2实例以外,还需要对ELB进行横向扩展。在这种情况下,你需要执行预热。

  相关解决方案