RedisConf 2021:Roblox 操作 Redis 集群的经验教训
Roblox 重度依赖其 Redis 和 Memcached 缓存层来支持其 1.5 亿每月活跃用户的体验。2020 年初,该公司在其缓存部署方面遇到了可靠性和基础设施管理瓶颈,因此决定投资构建一种完全自动化的方式来通过 Docker 在 HashiCorp 的 Nomad 调度程序之上操作开源 Redis 集群。
真正出色的玩家体验需要一个能够响应并根据用户增长进行全球扩展的数据平台。Redis Enterprise 的 NoSQL 内存数据库为游戏公司提供了实时性能,使游戏能够响应并充满乐趣,并在混合云和多云环境中扩展。
对于大多数玩家来说,快速性能是享受视频游戏的关键。如果没有一个能够始终如一地从世界任何地方提供低游戏延迟的数据层,您可能会让玩家感到沮丧。
维持玩家参与度,培养社区意识,了解玩家的习惯和偏好对于游戏的长期成功至关重要。您需要合适的工具来发现关键见解并吸引用户继续玩游戏。
停机时间直接影响玩家体验和收入,并削弱玩家信任。选择数据库时,高可用性和在混合云和多云环境中无缝扩展是关键因素。
Redis Enterprise 极大地提高了效率,帮助我们以更少的服务器基础设施更好地完成工作,并让我们能够超越预期进行增长。
冈萨洛·加西亚
Etermax 首席技术官
利用 Redis 对时间序列数据、事件流以及闪电般快速的查询和索引的支持,从大量游戏内数据中获取见解。使用 Redis 中的布隆过滤器 驱动游戏内广告和交易,向用户展示与其最相关的优惠。
通过从内存缓存中即时提供频繁需要的数据,而不是对具有网络连接的持久存储进行缓慢的数据库调用,降低游戏延迟和响应时间。Redis Enterprise 提供企业级缓存,具有到期和逐出策略,以有效管理缓存对象,以及 Active-Active 复制的全球分发,以及几乎无限的扩展。
使用 Redis 进行大规模缓存
存储用户会话数据使应用程序能够记住玩家身份、登录凭据、个性化信息、最近的操作等等,从而提供匹配和分析。同时确保响应速度快。Redis Enterprise 使用 Redis on Flash 支持超大型数据集,并提供不会影响性能的持久化选项,从而使实时个性化成为可能。
使用微服务使会话存储更智能
高效地扩展数据库性能对于实时游戏至关重要。Redis Enterprise 线性扩展,并且零停机时间 ,以提供更节省资源的数据库,可靠地提供高吞吐量和亚毫秒级延迟。
利用 Redis Enterprise 的 主动-主动数据库复制,具有无冲突的复制数据类型 (CRDT) 使游戏能够优雅地处理来自多个地理位置的同时更新,从而在全球范围内支持会话管理、速率限制和个性化等用例,而不会影响延迟或可用性。
Redis Enterprise 在所有主要云提供商上作为托管服务提供 或作为 软件,为常见的操作任务提供自动化和支持,并与现代软件架构的基础平台集成。
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 集群,在生产中使用了超过 400 个 Redis 服务器实例。