AWS Certified Solutions Architect - Associate · 占考试 24%

设计高性能架构

您将学到什么

在本领域中,您将学习如何根据负载选择高性能的存储 (Amazon S3、Amazon EBS、Amazon EFS、Amazon FSx)、计算 (Amazon EC2、AWS Lambda、容器)、数据库与缓存 (Amazon Aurora、Amazon DynamoDB、Amazon ElastiCache、DAX)、网络 (Amazon CloudFront、AWS Global Accelerator、Elastic Load Balancing) 以及数据的摄取与分析 (Amazon Kinesis、Amazon Athena、Amazon Redshift)。

要点

  • 存储 - 对象用 S3,单台实例的块存储用 EBS,共享文件用 EFS,计算所需的高速读取用 FSx for Lustre
  • EBS - gp3 可以独立于容量决定 IOPS 和吞吐量,io2 用于需要高 IOPS 和高耐久性的场合
  • 缓存 - RDS 或 Aurora 的前端用 ElastiCache,DynamoDB 的前端用 DAX
  • 分散读取 - 将读取分给 Aurora 副本和只读副本,减轻写入实例的负载
  • 加速分发 - Web 内容用 CloudFront,TCP 和 UDP 通信以及固定 IP 地址用 Global Accelerator
  • 流与分析 - 实时摄取用 Kinesis Data Streams,对 S3 上的数据执行 SQL 用 Athena,大规模汇总用 Redshift

术语与概念

存储的选择方法

S3 是无需担心容量上限的对象存储,EBS 是在 1 个 AZ 内附加到实例的块存储,EFS 是供多个 AZ 中大量实例同时使用的共享文件系统。在计算密集型处理中要高速读取 S3 的数据时,选择 FSx for Lustre。

缓存 (ElastiCache 与 DAX)

ElastiCache 是内存数据存储,放在数据库的前端返回反复执行的查询结果,以降低数据库的负载。缓存的读写需要写在应用程序中。DAX 是 DynamoDB 专用的缓存,具有与 DynamoDB 兼容的 API,因此应用程序的改动较少。

CloudFront 与 Global Accelerator

CloudFront 将 Web 内容缓存在全球的边缘站点,从离用户较近的位置返回。Global Accelerator 不缓存内容,而是将通过固定任播 IP 地址接收的 TCP 和 UDP 通信,经由 AWS 网络送达最近的正常端点。

负载均衡器的种类

Application Load Balancer 根据 HTTP 和 HTTPS 请求的内容进行分配。Network Load Balancer 在 TCP 和 UDP 层工作,能以极低的延迟处理大量连接,并且每个 AZ 都可以拥有固定的 IP 地址。Gateway Load Balancer 用于让通信经过防火墙等虚拟设备。

Lambda 的性能

在 Lambda 中,CPU 能力会按分配的内存量成比例增加。如果想避免首次调用时准备执行环境的时间 (冷启动),就通过预置并发预先准备好执行环境。

数据的摄取与分析

Kinesis Data Streams 保持顺序地接收大量数据,多个应用程序可以读取相同的数据。Athena 对保留在 S3 中的数据执行 SQL,按读取的数据量收费。Redshift 是列式数据仓库,适合大规模的复杂汇总。

5 道练习题