Discord

得益于 Cloudflare 的帮助,Discord 降低了带宽和硬件成本,提高了 Web 性能,并取得了用户的爆炸式增长。

Discord 是一款面向在线电脑游戏玩家的语音和文本通信应用。Discord 的目标是成为事实上的 PC 游戏玩家标准通信应用,并且已取得了成功,截至 2016 年 7 月,其拥有 240 万并发用户且注册用户数超过 2500 万。

Discord 面临的挑战:减少对 Websockets 服务器的大规模 DDoS 攻击

在 Discord 准备迎接快速增长时,他们需要一种经济实惠的方法来快速扩展现有的硬件基础设施,同时保持性能和安全性。在性能方面,Discord 需要从单一家庭服务器的内容提供服务,转变为高性能 CDN(内容交付网络)合作伙伴,能够为全球范围内的静态资产提供服务。在安全方面,Discord 需要保护其基于 WebSockets 的流量免受正面临的猖獗 DDoS 攻击。正如首席技术官 Stanislav Vishnevskiy 所说:“我们的产品专为玩家打造,所以,我们吸引了很多喜欢在游戏比赛中互相使用 DDoS 的用户。随着产品越来越受欢迎,这些 DDoS 攻击的强度和发生次数显著增加,以至于我们的工程师需要连续不断地进行处理。” Vishnevskiy 还指出:“在使用 Cloudflare 之前,我们使用了大量具有 DNS 负载均衡功能的 HAProxy 盒,以便能够在 DDoS 攻击我们的实时网关时进行故障转移。” 然而,最初的硬件解决方案,不仅每年所花费的成本高达六位数,而且仍需 Discord 的工程师加以辅助。因此,Discord 需要一个经济实惠、易于扩展的解决方案来阻止这些攻击,否则将如 Vishnevskiy 所说,Discord 的客户体验和保留率会显著下降:“每一次中断都会让客户倍感不满。虽然大多数现有客户都能容忍中断,但由于糟糕的第一印象,在出现问题期间注册的新客户会严重流失。每当有客户感到不满和失望时,就会让我们离成为事实上的游戏玩家标准通信应用的目标又远了一步。”

Discord 的解决方案:具有内置安全功能的 CDN

2015 年 8 月,当 Discord 首次与 Cloudflare 接触时,其并发用户数刚刚达到 25,000,而 Cloudflare 为其带来了即时、持久的性能和安全优势。通过利用 Cloudflare 的内容分发网络 (CDN),Discord 轻松将业务扩展到当前的 240 万并发用户(仅在一年内便实现超过 9000% 的增长)。Cloudflare 的 CDN 将内容缓存到超过 194 个城市的数据中心,然后直接从最近的数据中心向用户提供内容。Discord 每月有超过 2 Pb 的流量直接通过 Cloudflare 的边缘缓存提供给 Discord 的用户。相应地,作为 Google Cloud 客户,Discord 既通过 Cloudflare 与 Google Cloud 之间的高速互连为客户提供更简单的应用程序,又为客户每月节省超过 100,000 美元的 Google Cloud 支出。此外,Cloudflare 的安全措施时刻保护并服务于 Discord 的流量,这让 Discord 更加高枕无忧。Discord 的软件工程师 Jake Heinz 表示:“我们将 Cloudflare 置于 WebSockets 服务器的前端,以吸收第 7 层攻击以及各种第 3 层和第 4 层反射攻击。我们有 240 万并发用户通过 Cloudflare 与我们连接,即使 Websocket 事件的峰值达到每秒 200 万次,Cloudflare 仍然可以快速、安全地为我们的流量提供服务。”

通过使用 Cloudflare,Discord 持续节省了几十万的硬件和带宽成本,同时为用户提供了更高的性能以及更安全可靠的应用程序。

Discord
相关案例研究
主要成果

每年节省 100,000 美元的硬件成本

每月节省 100,000 美元的 Google Cloud 网络流出量费用

即使 WebSockets 事件峰值高达每秒 200 万次,也可确保流量安全

“我们不再用担心针对 API 和网关服务器的 DDoS 攻击,这使我们能够安心地专注于改进产品。”

Stanislav Vishnevskiy
首席技术官