弹性且高效的系统 - 在上实现微服务 AWS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

弹性且高效的系统

灾难恢复 (DR)

微服务应用程序通常遵循十二因子应用程序模式,即进程是无状态的,持久数据存储在数据库等有状态的支持服务中。这简化了灾难恢复 (DR),因为如果服务出现故障,可以轻松启动新实例来恢复功能。

微服务的灾难恢复策略应侧重于维护应用程序状态的下游服务,例如文件系统、数据库或队列。Organizations 应规划恢复时间目标 (RTO) 和恢复点目标 (RPO)。RTO 是服务中断和恢复之间的最大可接受延迟,而 RPO 是自上次数据恢复点以来的最长时间。

有关灾难恢复策略的更多信息,请参阅《工作负载灾难恢复 AWS:云端恢复》白皮书。

高可用性 (HA)

我们将研究微服务架构各个组件的高可用性 (HA)。

Amazon EKS 通过跨多个可用区运行 Kubernetes 控制和数据平面实例来提供高可用性。它会自动检测和替换运行状况不佳的控制平面实例,并提供自动版本升级和修补。

Amazon ECR 使用亚马逊简单存储服务 (Amazon S3) Simple Service 进行存储,使您的容器镜像具有高度可用性和可访问性。它可与 Amazon EKS、Amazon ECS 配合使用 AWS Lambda,简化了从开发到生产的工作流程。

Amazon ECS 是一项区域性服务,它以高度可用的方式简化在一个区域内的多个可用区中运行容器,它提供了多种调度策略,可以根据资源需求和可用性要求放置容器。

AWS Lambda 在多个可用区中运行,确保单个区域服务中断期间的可用性。如果将您的函数连接到 VPC,请在多个可用区中指定子网以实现高可用性。