DynamoDB 是在 Websocket 连接中保存数据的最佳数据库吗?

问题描述 投票:0回答:1

我正在开发一个匹配系统,使用 API Gateway (Websocket) + Lambda + DynamoDB 匹配两个用户

每次用户连接时,该用户的 ConnectionId 和匹配状态都会存储在 DynamoDB 表中。然后它开始通过查询数据库表来寻找潜在的匹配。

当用户找到匹配项时,它会从表中更新两个用户的匹配状态。

用户的connectionId一旦离开Websocket就会被删除到数据库中。它只会在找到匹配项或决定离开匹配屏幕后才会离开 Websocket 连接。

考虑到这些逻辑,我使用 DynamoDB 来保存数据是个好主意吗?将 ConnectionId 作为全局对象存储在 Websocket 中而不是使用数据库听起来是一个坏主意,因此我使用了数据库。

DB操作总结:

  • 为每个用户创建项目
  • 删除每个用户的项目
  • 查询项目(寻找匹配项)
  • 一旦发现匹配,更新两个用户的项目(匹配状态)
aws-lambda websocket amazon-dynamodb aws-api-gateway
1个回答
0
投票

您的问题将被关闭,因为寻求建议或意见违反了网站规则。

DynamoDB 经常用于此类用例,它非常适合您描述的无服务器生态系统。您很难找到更好的替代方案。

© www.soinside.com 2019 - 2024. All rights reserved.