使用AWS上的数据库后端设计高可用性API服务

时间:2019-07-10 13:00:36

标签: amazon-web-services high-availability

我正在研究服务于后端数据库请求的API层。 因此要求是:​​

  1. 重新填充整个表而无需停机进行API服务:API的主要要求是,我们应该能够定期(每两周或每两周)重新填充后端数据库中的表(2至3个表,结构化的CSV数据)每月),但API服务不应关闭。
  2. 全球范围内的低延迟,大约为100毫秒
  3. 每秒请求可扩展性
  4. 限价客户
  5. 如果出现问题,
  6. 还可以切换到后端表的早期版本。

我的问题是我可以使用哪种AWS数据库以及可以实现上述目标的其他AWS组件。

1 个答案:

答案 0 :(得分:1)

如果您想要一个安全的,低延迟的全局API,那么我将使用经过边缘优化的API Gateway API。

此处API GW limits是关于每秒最大请求的文档。

您可以使用API​​ GW对客户端进行限价。此外,API GW中可以具有与lambda中的不同别名相对应的不同阶段。 Lambda将是您的无服务器计算层,它将处理您的API GW请求,然后查询您的数据库。在lambda中使用版本控制和别名将允许您切换到不同的数据库表。鉴于您打算使用类似csv的数据,可以使用RDS并使用Aurora引擎,该引擎与MySQL和PostgreSQL兼容,并且是一种极具成本效益的选择。

作为一些其他信息,您应该在API GW API和lambda函数之间使用lambda代理集成。这样,您就可以为API启用身份和访问管理(IAM)。

有关Lambda代理集成的文档:Lambda proxy integration

以下是有关Lambda的一些文档:AWS Lambda versioning and aliases

以下是有关RDS Aurora的一些文档:AWS RDS Aurora