Day 08 - 网站大流量也不卡? Elastic Load Balancer (ELB) & Auto Scaling

不知道大家有没有经历过网站卡卡的情况,尤其是抢车票或抢预约疫苗的时候,网站总是因为流量大,而瞬间卡住。有没有什麽云端服务可以克服或者缓和这样的问题呢?今天我们一起来看看

ELB and Auto-Scaling的应用价值

ELB和Auto-Scaling服务,可确保我们服务不至於因为突发性的外在流量大量进入,而导致服务中断。

ELB运作机制

ELD的运作包含以下几个特点:
HTTP Health-check: 以http机制存取EC2来确认EC2机器的运作状态。
SSL Negotiation: 如果今天进来的流量被加密,SSL Negotiation可以协助流量解密。
Sticky Session: 如果系统的设计框架不是stateless,使用者存取系统的相关资讯、纪录被留置在特定机器上面,sticky session可以确保使用者下次要求进入系统时,其流量可以对应到cached的机器上,也就是带有使用者之前存取纪录的机器。
ELB Access Log: 用来监控外在流量如何存取ELB。

ELB的种类:
1. Classic Load Balancer
2. Network Load Balancer: 根据TCP来分配流量。
3. Application Load Balancer: 将流量分配至同一台机器上的多组port。这一套服务是针对micro service所提供的设计,例如现在常见的container service,容器服务。

Auto Scaling 运作机制

当外在流量变大时,我们需要多开几台机器来去应对。但什麽情境之下要开机器?以及要开什麽样的机器呢?Auto Scaling提供我们机器启动的机制和规格设定(Launch Configuration/Template)

  • Scaling Policy(机器启动机制,或是看成开完机器後,我们想达成的目标)
  1. Number of Instances: 这个policy仅要求服务永远都有最小数量的机器在运作。
  2. Schedule: 在特定时段去调整机器数量。例如系统的尖峰时段,可以增加机器;或者像是疫苗预约系统,我们知道明天下午要开放预约,就可以设定开放预约时间前,多增加几台机器。
  3. Perfomance: 确保CPU效能总是在某个门槛值之上,如80%。
    • Simple Scaling
    • Step Scaling
    • Target Tracking Scaling
  • Launch Template(开机器规格): 什麽样的机器规格我们想要来做扩充使用,像是机器Ram要多大、容量要多少以及几颗CPU等。
  • Auto Scaling Group: 这个词表示同一个group下,所有的机器会遵循相同的policy来调节机器用量。


<<:  [Day 13] SRE - 悟

>>:  系统弱点扫描工具-Tenable Nessus(中)

【Day02】错误范例的 RHS 和 LHS

在 Day01 的文章中有提到, JavaScript 会先经过语法解析後,产生结构树,代码生成後才...

我朋友最近跟我阐述了一个惨痛的系统购买经验(一)

我朋友最近跟我阐述了一个惨痛的系统购买经验,我觉得很有价值,特以第一人称观点描述记录下来,本故事内容...

day13 Kotlin coroutine channel操作

尽管大家讲coroutine都会提到channel和flow,然後开始比较,但我个人觉得channe...

Progressive Web App Notifications API (21)

什麽是 Web Notifications API? 透过 Web Notifications AP...

累积

终於来到最後一天了,真的是每天都有想放弃的冲动,很庆幸当初选了很 General 的主题,加上平时也...