【问题标题】:AWS API Gateway & Lambda - API PaginationAWS API Gateway 和 Lambda - API 分页
【发布时间】:2017-08-24 02:28:38
【问题描述】:

我正在考虑使用 AWS API Gateway 和 AWS Lambda(Python) 来创建无服务器 API,但在设计时我正在考虑分页、安全、缓存、版本控制等方面。

所以我的问题是: 使用非常大的数据(100 万条记录)实现 API 分页的最佳方法性能和成本是什么?

  1. 我应该在 postgresql db 中实现分页吗? (我认为这 会很慢)
  2. 我是否应该不使用 postgresql db 分页,而只是将我从 db 获得的所有结果缓存到 aws 弹性缓存中,然后在 lambda 中进行服务器端分页。

感谢你们的帮助。

【问题讨论】:

    标签: python postgresql amazon-web-services aws-lambda aws-api-gateway


    【解决方案1】:

    如果您的数据无论如何都将存储在 postgresql 数据库中,我将从您的请求开始访问数据库并分析性能。您已经假设它很慢,但您没有说明您对延迟的要求是什么或您的架构是什么,因此人们对它是否适合您的情况做出的任何断言都是完全推测的。

    如果您在分析后确实认为它不够快,那么添加缓存将是有意义的,尽管将整个内容存储在缓存中似乎很浪费,除非您可以保证您的客户端将始终迭代所有结果。您可能需要考虑一种预取数据块的机制,这些数据块将为少数请求提供服务,而不是尝试缓存整个数据。

    TL;DR:不要过早地优化您的解决方案。量化您希望系统如何响应以及测试和验证您的假设。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      • 1970-01-01
      • 2019-06-22
      • 2017-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多