我正在开展一个管理文档的项目(例如:创建、阅读、维护不同版本等),我的计划是使用以下 AWS 架构。
创建/更新文档时,它将通过 API Gateway S3 代理保存到启用版本的 s3 存储桶中。S3 put 事件将触发 lambda 以获取最新版本和所有版本 id 并将其保存到 DynamoDB。一旦将其保存在 DynamoDB 表中,它将通过 DynamoDB 流在 Elasticsearch 中建立索引。
我的计划是对所有搜索查询使用 Elasticsearch。我将从 DynamoDB 加载最新的文档。由于每条记录都有 S3 版本 ID,我也可以从 S3 查询旧版本。
由于我的架构很大程度上依赖于最终的一致性,即(S3 到 DynamoDB 和 DynamoDB 到 Elastic Search),我担心在创建文档后查询 Elasticsearch 或查询 DynamoDB 时我不会获得最新的文档数据。
任何改进建议将不胜感激。
谢谢!