gydtep 发表于 2020-2-18 21:40:33
这对于用户体验来说是很糟糕的。经过调查,我们确定峰值是由 Go 的核心特性引起的,gydtep 发表于 2020-2-19 06:25:47
针对以上多级缓存设计,可以通过引入热点发现系统来发现非预期的热点数据,gydtep 发表于 2020-2-19 08:49:04
我们希望能够保证 Discord 始终让人感觉快捷无比,所以必须要确保 Read States 是非常快速的。gydtep 发表于 2020-2-19 10:02:29
为了阐述 Go 为什么无法满足我们的需求,我们首先需要讨论数据结构、规模、访问模式以及服务架构。gydtep 发表于 2020-2-19 13:20:16
每个缓存中都有数百万的用户,每个缓存中又会有数千万的 Read State。gydtep 发表于 2020-2-19 14:25:55
由于我们进行了负载测试,所以发布过程相当顺利。gydtep 发表于 2020-2-19 15:05:41
我们增加了内存容量,优化了数据结构以使用更少的内存 (仅仅为了好玩),并将缓存容量增加到 800 万条 Read States。gydtep 发表于 2020-2-19 16:09:45
我们将它用于游戏 SDK、Go Live 的视频捕获和编码、Elixir NIFs 以及其他几个后端服务等等。gydtep 发表于 2020-2-19 17:53:05
除此之外,Rust 的生态系统和工具都是非常优秀的,它们背后有强大的驱动力。gydtep 发表于 2020-2-19 19:20:53
而且很可能高流量会成为一种常态,这使得我们开始重新审视当前的基础设施是否能支撑未来的业务发展。