最新消息:本站介绍:国外VPS、云服务器,海外服务器,一手资源推荐平台

Discord详细介绍了它如何使用云中制造的超级磁盘来避免延迟

行业文章 快米云 来源:快米云 60浏览

聊天平台 Discord 昨天向谷歌发出了有趣的一记耳光,其中描述了该公司如何处理“可靠性问题”以实现令人印象深刻的低延迟。

Discord 每天处理数百万用户通过该平台发送的 40 亿条消息。该公司运行一组 NoSQL 数据库集群(由 ScyllaDB 提供支持),但其实时性意味着数据库需要尽快响应查询。

“对我们数据库性能的最大影响是单个磁盘操作的延迟,即从物理硬件读取或写入数据需要多长时间,” Discord 的高级软件工程师Glen Oakley 说。

低于一定的查询率,一切都很好。“我们的数据库在并行处理请求方面做得很好,”奥克利说。

但是,在某些时候,您会遇到阻塞问题,即数据库必须等待未完成的磁盘操作完成才能启动另一个操作。事情变慢了,用户注意到了。查询可能在到达队列顶部之前超时。

有人可能认为从 GCP 提供本地 SSD 可以解决这个问题。Oakley 指出,基于 NVMe 的存储具有令人难以置信的快速延迟配置文件,但“在我们的测试中,我们遇到了足够多的可靠性问题,我们对依赖此解决方案来存储关键数据感到不舒服。”

另一种选择是永久性磁盘,可以在需要时附加或分离、复制和通过网络连接的存储。因此,远不及直接连接的磁盘那么低的延迟。

那么该怎么办?该团队希望坚持使用 GCP 并优先考虑低延迟磁盘读取,但不想牺牲现有的正常运行时间保证。他们还需要能够在 SSD 上的坏扇区中幸存下来。解决方案是使用 GCP 的本地 SSD 进行低延迟读取,同时仍写入永久磁盘,以通过复制利用快照和冗余。

在玩弄了软件中的各种缓存选项(Discord 在其数据库服务器上运行 Ubuntu)之后,该团队确定了md一个精心设计的 RAID 配置。为本地 SSD 选择了 RAID0(只是将原始数据拆分到磁盘上——丢失一个,全部丢失),并在持久磁盘和 RAID0 阵列之间选择了一个 RAID1(基本上是一个镜像)。

结果或多或少是希望的超级磁盘成功,尽管 Oakley 指出在云环境中遇到了一些特定的边缘情况。“回想起来,”他说,“在我们的数据库部署的早期,磁盘延迟应该是一个明显的问题。

“云计算的世界导致如此多的系统以与物理数据中心对应的方式完全不同的方式运行。”

在贵公司负责云计算期间要记住的一些事情。

转载请注明:VPS资讯_海外云服务器资讯_海外服务器资讯_IDC新闻 » Discord详细介绍了它如何使用云中制造的超级磁盘来避免延迟