首页 > 解决方案 > REST 系统设计、ALB VS API 网关的最佳实践是什么?

问题描述

我正在设计一个“简单”的 RESTful API,并且在以下两种设计之间进退两难:

在此处输入图像描述

顶级设计:

  1. 用户向使用 cognito 身份验证的 api getway 发送请求
  2. api getway 重定向到重定向到 ecs 的 ALB。
  3. 在“CACHE”端点的情况下,用户将被重定向到将提取并返回数据的 lambda

底部设计

用户请求由 ALB 验证并转发到应用程序,应用程序从缓存中提取。

我的问题:

  1. API 网关和 lambda 是必需的吗?我应该除了底部更大的延迟吗?
  2. 我在顶级设计中看到的一个优势是我能够区分同步和异步请求,这是一个好习惯吗?
  3. 我最近了解到 ALB 可以对 cognito 进行身份验证,它也可以对端点进行授权吗?(检查用户是否属于允许访问该端点的组)
  4. 更一般地说,我正在尝试获得最佳设计以避免延迟,我有一个不需要获取实时数据并且可以在 Cashe 上中继的端点。

提前谢谢!

标签: amazon-web-servicescachingaws-load-balancer

解决方案


推荐阅读