gpt4 book ai didi

design-patterns - 使用Step Function同步Primay Data Source和Secondary Data Sources并根据数据更新触发Actions

转载 作者:可可西里 更新时间:2023-11-01 11:23:59 24 4
gpt4 key购买 nike

我有一个充当数据层的应用程序,负责对数据库执行所有 CRUD 操作。由于可用性问题,我们在其上维护 Redis 缓存,最终将充当辅助数据源。频繁访问主要数据源会导致节流和延迟问题。

某些操作也会根据发布到数据库的更新而触发。

我试图将辅助数据源更新和基于这些更新触发的操作从数据访问层抽象到 serverless architecture .

步进函数是否最适合上述用例?或者我应该考虑不同的架构?

Current Architecture

最佳答案

根据您提出的如下所示的架构,我认为步骤功能不是必需的。

Proposed Architecture

我会使用 SNS 将更新分散到多个 SQS 队列:

  • 队列 #1 触发一个 lambda 函数,更新您在 Redis 中的数据
  • 队列 #2 用于客户端更新(无论这在您的情况下意味着什么)

我看不出在这里使用 Step Functions 的原因,因为 SQS 确保每条消息都被至少处理一次。

          +----------+
+---->Primary DB|
| +----------+ +----------------+ +------------+ +-----+
+ | | | | | |
Change +-----> SQS-Queue #1 +------> Lambda +---->Redis|
+ | | | | | | |
| | +----------------+ +------------+ +-----+
| +-----------+
| | |
+----> SNS |
| |
+-----------+
| +----------------+
| | |
+-----> SQS-Queue #2 | <------ Clients
| |
+----------------+

我认为 SNS 可能也更适合向您的客户推送更新,因为 SQS 是基于拉取的。

关于design-patterns - 使用Step Function同步Primay Data Source和Secondary Data Sources并根据数据更新触发Actions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54004230/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com