gpt4 book ai didi

google-app-engine - 使用 Go、App Engine、专用内存缓存和实例内存实现分片计数器

转载 作者:数据小太阳 更新时间:2023-10-29 03:17:41 24 4
gpt4 key购买 nike

我们计划实现一个可大规模扩展的后端系统,该系统基本上必须在很短的时间内(大约 5 分钟)计算数十万最终用户的投票。

实现可能会在 App Engine 上完成,使用 Go 运行时和专用 Memcache 服务。或许,Datastore 将用于在投票期后保留计数器值。

我们目前的架构想法和问题:

  • 我们计划将实例内存用于即时的每个请求计数。我们假设仅使用 Go 全局变量实际上转化为“使用实例内存”是否正确?

    • 我们计划将每个实例的总计数器值(全局变量的值)以待定义的时间间隔存储到 Dedicated Memcache 中,例如每 10 秒或以 250 次为增量。我们可能会对这些 memcached 计数器进行分片,以避免单个键/项的峰值负载。

    • 使用 App Engine cron 作业,我们可以保留 Memcache 计数器以供长期使用。

你怎么看?这有意义吗?这是一个好方法吗?

最佳答案

对于这样的事情,您可能想要使用 task queue机制(特别是 pull queue 机制)。这将允许您在单个操作中处理(计数 + 提交)多个投票任务。这可能比使用实例内存更可靠,因为任务队列将比任务重新启动更有效。

关于google-app-engine - 使用 Go、App Engine、专用内存缓存和实例内存实现分片计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21850568/

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