RedisConf 2021:在 Roblox 运营 Redis 集群学到的经验
Roblox 严重依赖其 Redis 和 Memcached 缓存层来支持其 1.5 亿月活跃用户的体验。在 2020 年初,公司遇到了缓存部署的可靠性和基础设施管理瓶颈,于是决定投入资源构建一个完全自动化的方式,通过 Docker 在 Hashicorp 的 Nomad 调度器之上运营开源 Redis 集群。
真正出色的玩家体验需要一个响应迅速且能随用户增长在全球范围内扩展的数据平台。Redis Enterprise 的 NoSQL 内存数据库为游戏公司提供实时性能,使游戏响应迅速且有趣,并能跨混合云和多云环境进行扩展。
对于大多数游戏玩家来说,快速的性能是享受视频游戏最关键的方面。如果没有一个数据层能够在全球范围内持续提供低游戏延迟,您就有可能让玩家感到沮丧。
保持玩家参与度、培养社区意识以及了解玩家的习惯和偏好对于游戏的长期成功至关重要。您需要一套正确的工具来发现关键洞察并吸引您的用户继续玩下去。
停机时间直接影响玩家体验和收入,并削弱玩家的信任。跨混合云和多云环境的高可用性和无缝可伸缩性是选择数据库的关键因素。
Redis Enterprise 大幅提高了效率,帮助我们以更少的服务器基础设施做得更好,并使我们的增长超出了我们的预测。
Gonzalo Garcia
CTO, Etermax
利用 Redis 对时序数据、事件流以及闪电般快速的查询和索引的支持,从大量游戏内数据中获取洞察。通过使用 Redis 中的 Bloom Filter 向用户展示最相关的优惠,从而推动游戏内广告和交易。
通过从内存缓存中即时提供频繁所需的数据,而不是对具有网络附加持久存储的数据库进行缓慢调用,从而降低游戏的延迟和响应时间。Redis Enterprise 提供企业级缓存,具备过期和逐出策略以有效管理缓存对象,通过 Active-Active 复制实现全球分发,并实现几乎无限的扩展。
使用 Redis 实现规模化缓存
存储用户会话数据使应用程序能够记住玩家身份、登录凭据、个性化信息、最近的操作等,从而提供匹配和分析服务。 所有这一切都确保了响应时间快速。Redis Enterprise 通过支持使用 Redis on Flash 处理超大数据集以及不影响性能的持久性选项,实现了实时个性化。
使用微服务使会话存储更加智能
高效地扩展数据库性能对于实时游戏至关重要。Redis Enterprise 线性扩展且零停机,提供更高效的数据库,可靠地提供高吞吐量和亚毫秒级延迟。
利用 Redis Enterprise 的 带有无冲突复制数据类型 (CRDT) 的 Active-Active 数据库复制 使游戏能够优雅地处理来自多个地理位置的并发更新,支持全球范围内的会话管理、速率限制和个性化等用例,而不会牺牲延迟或可用性。
Roblox 严重依赖其 Redis 和 Memcached 缓存层来支持其 1.5 亿月活跃用户的体验。在 2020 年初,公司遇到了缓存部署的可靠性和基础设施管理瓶颈,于是决定投入资源构建一个完全自动化的方式,通过 Docker 在 Hashicorp 的 Nomad 调度器之上运营开源 Redis 集群。
Unity DevOps 经理 Alex Curtin 讨论了该平台迁移到 Redis Enterprise GKE 架构如何使这家游戏公司通过增强的弹性、减少的负载管理开销和高可用性来扩展其用户群。
Roblox 是全球最大的社交娱乐平台。每月,超过 4800 万玩家在沉浸式 3D 世界中共同想象、构建和玩耍。Roblox 广泛使用开源 Redis 和 Redis Labs Enterprise Cluster,在生产环境中运行着 400 多个 Redis 服务器实例。