【问题标题】:Aggregate values in AppSync resolversAppSync 解析器中的聚合值
【发布时间】:2020-10-25 10:56:39
【问题描述】:

在实时会话中,我预计当老师进行投票时会出现短暂的流量爆发,并且大部分学生会做出回应(竖起大拇指/竖起大拇指),我们将通过 AppSync 将其路由以累积总和并呈现给老师

我计划更新 DynamoDB 记录中的总评分(赞/赞)。有什么建议可以使用解析器或 lambda 以最佳方式解决它吗?

解析器/lambda 能否将数据保留一小段时间,然后将其写入 DynamoDB?

或者是否可以将 appsync 连接到任何其他 AWS 服务以实现相同的功能?

【问题讨论】:

    标签: aws-lambda graphql aws-appsync


    【解决方案1】:

    如果我正确阅读了您的问题,您是在要求某种排队系统来保存选票并一次写入所有选票吗?如果是这样,那么由于它们的分布式特性,w appsync 或 lambdas 是不可能的。有一些技巧可以用于某种半持久性,但这不是一个好的用例(更多用于缓存复杂的 lambda 启动的结果)。但我不会担心,因为 DynamoDB 可以处理您的所有请求。例如,您可以使用带有 SET 的 updateItem 查询来增加计数。在page 上有一些使用 SET 的示例。

    【讨论】:

    • 我担心只在一条记录中聚合可能会失去 userId 级别的投票。对于流量的短暂峰值(比如 30K 用户),进行两次写入(一次用于更新投票,一次用于持久化用户的每次投票)会影响规模和成本。
    猜你喜欢
    • 2021-07-18
    • 2019-03-23
    • 2019-02-04
    • 2019-08-10
    • 2018-01-11
    • 2018-10-11
    • 2019-04-16
    • 2019-02-03
    • 2018-12-22
    相关资源
    最近更新 更多