实现高可用性:AWS 架构的全方位指南
1. ELB 负载均衡
ELB(Elastic Load Balancing)使用最少未完成请求路由算法来将 HTTP/HTTPS 请求分散到健康的实例上。该算法倾向于将请求发送到未完成请求最少的实例。即使不建议在可用区(AZ)之间或内部使用不同大小的实例,ELB 也会根据响应时间调整发送到较小或较大实例的请求数量。此外,ELB 使用跨区域负载均衡将流量分配到所有健康实例,无论其所在的可用区。即使在不同可用区的实例数量不相等时(可能是由于某个可用区的实例故障),ELB 也有助于平衡请求负载,且跨区域流量没有带宽费用。
当实例发生故障时,可以使用自动缩放无缝替换,而其他实例继续运行。不过,在实例上本地存储应用程序状态或缓存可能难以检测问题。通过健康检查来确定实例和应用程序的健康状况,可以创建基于 TCP 和/或 HTTP 的心跳检查。迭代实施健康检查以找到符合目标的正确设置是值得的,还可以自定义检查频率和失败阈值。如果所有实例都停机,AWS 将返回 503 错误。
下面是 ELB 负载均衡的工作流程 mermaid 流程图:
graph LR
A[客户端请求] --> B[ELB]
B --> C{选择实例}
C -->|最少未完成请求| D[健康实例 1]
C -->|最少未完成请求| E[健康实例 2]
C -->|最少未完成请求| F[健康实例 3]
D -->|响应| B
E -->|响应| B
F -->|响应| B
B -->
AWS高可用架构全解析
超级会员免费看
订阅专栏 解锁全文
23

被折叠的 条评论
为什么被折叠?



