AWS和API网关上的Lambda架构

时间:2019-01-29 15:58:08

标签: amazon-web-services architecture aws-api-gateway lambda-architecture

我正在使用Lambda体系结构。 Batch&Speed层位于AWS EMR上。服务层位于AWS ECS上,这是一种简单且非常瘦的REST服务器,可聚合Batch / Speed层的视​​图并返回给客户端。服务层位于AWS ALB和AWS WAF的后面。

如果我输入错了,请改进我的方式,但是在服务层之上使用API​​ Gateway并没有意义。 我想念什么吗?请您对此发表看法。

我对API Gateway用例的理解:

  1. 交叉关注的问题,即授权,安全性,API流量管理。
  2. 减少流量,即用户在调用API网关时仅支付一次网络延迟(或缓慢的内部网)价格,所有其他内部请求都应该很快。 + SSL终止。
  3. 内部URI隐藏在API网关后面。这是管理API版本控制的合适位置。

但是在Lambda架构中,所有内容都隐藏在服务层的后面。意味着所有横切关注点都将放在单一服务中。我说的是授权,安全性和版本控制。对于版本控制,如果需要(网络,Android和iOS),我将为每个客户端创建单独的终结点。 对吗?

安全和流量管理的某些部分可以在AWS WAF和AWS ELB上完成。

在什么情况下我应该使用API​​网关?

1 个答案:

答案 0 :(得分:0)

您可以在体系结构中拥有更多组件,并将其称为Lambda,它不必以服务层结尾。将API网关视为最重要的“分布层”。服务可以确保在预期的延迟下生成正确的内容,而分发层则可以解决您提到的横切关注点。