Amazon web services DynamoDB是用户会话的好选择吗?

Amazon web services DynamoDB是用户会话的好选择吗?,amazon-web-services,amazon-dynamodb,Amazon Web Services,Amazon Dynamodb,我正在考虑使用DDB来管理网站的会话:用户登录,会话ID保存在数据库和cookie中,每个请求都会从cookie中检查数据库中的会话ID。我还在设计阶段 为了防止在登录期间创建会话,但由于最终的一致性,下面的请求找不到该会话,我认为需要强一致性。然而,强一致性的速度较慢,而且对每个请求使用它似乎都会造成很大的延迟开销 我的担心是正确的吗 会话管理的最终一致性是否足够 DDB是否不适合会话?如果是,什么是更合适的数据存储 DynamoDBs的一个用例是您正确地将其标识为会话存储 有些语言(例如PH

我正在考虑使用DDB来管理网站的会话:用户登录,会话ID保存在数据库和cookie中,每个请求都会从cookie中检查数据库中的会话ID。我还在设计阶段

为了防止在登录期间创建会话,但由于最终的一致性,下面的请求找不到该会话,我认为需要强一致性。然而,强一致性的速度较慢,而且对每个请求使用它似乎都会造成很大的延迟开销

  • 我的担心是正确的吗
  • 会话管理的最终一致性是否足够
  • DDB是否不适合会话?如果是,什么是更合适的数据存储

  • DynamoDBs的一个用例是您正确地将其标识为会话存储

    有些语言(例如PHP)在SDK中有一个ready by session处理程序,如果您的语言没有,请查看PHP的实现

    关于一致性,无论是强一致性还是使用。此外,可能值得添加一个属性来包含会话的锁定状态,这样可以防止任何会话冲突


    您还可以考虑将其用作会话处理程序,AWS确实有一个托管服务来提供此功能。

    我还没有任何延迟要求,但也不希望由于使用了强一致性,每个请求都需要额外几秒钟的时间。这会发生吗?根据您的应用程序,它不会增加太多时间。通常,当我看到它实现时,您会添加一个属性,并将锁定状态设置为true。然后才在终端向DynamoDB写入数据。整个过程将有两次写入,一次读取。:)会话冲突是什么意思?我认为我的会话将由随机生成的UUID标识,因此不会发生冲突。这把锁怎么用?我看不出2次写入和1次读取是什么。根据您的应用程序,如果您有任何异步请求,您可能会因为同时尝试读取和写入而发生冲突,这可能会导致其中一次重写另一次,这就是锁定会话存在的原因。任务完成后,流程为1次读取会话,1次写入锁定会话,然后1次写入添加最新会话数据。