小编Pap*_*its的帖子

AWS DynamoDB 与 RDS for Lambda 无服务器架构

我所在的团队目前正在为政府办公室和公众(目前范围缩小到卫生部门)之间的通信服务开发概念验证架构/应用程序。客户特别要求通过 AWS 服务采用主要无服务器的方法,我需要有关如何设置此架构(即 Lambda 与数据库关系)的建议。

粗略地说,该架构将利用 API Gateway 来处理请求,这将调用不同的 Lambda 作为微服务来访问数据库。

下图描述了快速关系架构。基本上,患者输入对其病情的描述,这构成了案例的基础。该病例由一名或多位护士在一次或多次会议期间处理,并记录与该病例相关的笔记。DB Schema(声誉不够)

根据我的研究,我发现就 RDS 而言,需要在安全性之间进行权衡(将 Lambda 保留在包含 RDS 实例的公共 VPC 之外,放弃安全最佳实践,这是公共部门的禁忌) )和性能(将 Lambda 放在带有 RDS 实例的私有 VPC 中,并由于 ENI 的配置而导致冷启动时间过长)。不过,可以通过使用 CloudWatch 对冷启动时间进行 ping 来取消冷启动时间,这可能是最佳的,也可能不是最佳的。

就 DynamoDB 而言,我个人非常缺乏经验(比 MySQL 更缺乏经验)并且不确定数据是否适用于 NoSQL 模型。如果是的话,DynamoDB 似乎是更好的方法。但根据我的理解,NoSQL 对涉及 JOIN 等的复杂查询的支持较少,这可能会消除它作为一个选项。

就数据/关系而言,感觉 SQL/RDS 更合适,但如果找到合适的数据模型,DynamoDB 会给 Lambda/AWS 服务带来更少的问题。所以我的问题是,是否最好选择私有 RDS 实例并尝试通过预热最关键的 Lambda 来消除冷启动,或者是否有一个不会导致复杂查询等问题的 NoSQL 模型事物?我是否遗漏了任何可能改变局面的关键方面?

amazon-web-services amazon-rds amazon-dynamodb aws-lambda serverless

5
推荐指数
1
解决办法
3343
查看次数

AWS Lambda - 存储队列的状态

我目前的任务是构建一个用于政府机构和公民之间通信的无服务器架构,主要组件是某种形式的队列,其中包含某种形式的指向每个公民请求的对象/指针,按优先级排序。然后,政府工作人员可以在可用时处理元素。由于 Lambda 是无状态的,我需要以某种方式将队列保存在外部。

为了保存状态,我收集到您可以使用 DynamoDB 或 S3 存储桶并使用事件触发器来调用相关的 Lambda 方法。有些还建议使用 Parameter Store 来保存一些状态变量。全局存储东西也出现了,尽管你不能保证 Lambda 不会终止,这似乎不是一个好主意。

最后,我还阅读了一些有关 SQS 的内容,尽管我不知道它是否适用于这种情况。

以这种方式使用 Lambda 时,最佳实践/建议方法是什么?由于事件触发,我倾向于 S3 Bucket,而不是使用 DynamoDB 作为我们的数据库。

state amazon-s3 amazon-web-services amazon-dynamodb aws-lambda

1
推荐指数
1
解决办法
1388
查看次数