你有没有注意到Reddit似乎经常离线,每天都遇到很多问题?
见鬼,有时甚至是每小时好几次!这可能会让人感到困惑,尤其是考虑到Facebook或YouTube等其他大型网站似乎从未宕过机。
如果你遇到这样的消息,“我们所有的服务器现在都很忙”或“我们的CDN无法到达我们的服务器”,这可能是相当令人担忧的。幸运的是,这通常有一个简单的解释。
所以,如果你想知道为什么Reddit总是宕机,以下是主要原因。
1.服务器容量不足
这是一个大问题。
大多数时候,Reddit不会因为任何技术错误或bug而崩溃。相反,他们拥有的服务器数量根本不足以支持试图使用该网站的人数。
在一个像你现在上的这样的小网站上,我们只使用一个主服务器。也就是说,一台计算机专用于托管我们的页面并向您传递内容。在比这个更小的网站上,一台服务器可以同时被几十个网站共享。
然而,Reddit处理的流量远远超过一台服务器自己可以处理的流量。相反,流量被分散在许多不同的服务器上。Reddit前首席执行官Yishan Wong评论说,Reddit在2015年有数百个服务器,今天这个数字可能会达到数千个。
因此,随着Reddit的发展,它的复杂性也在增加,而为访问该网站的所有访问者提供服务所需的计算机硬件也在增加。这不可避免地导致了Reddit频繁的停机和连接问题。
现在你肯定在想——如果Reddit现在是一个这么大的公司,他们就不能买更多的服务器吗?他们肯定负担得起,不是吗?
嗯,还有另一种解释……
2.突然交通激增
流量激增和Reddit服务器容量不足相伴而生。
仔细想想,这是有道理的。
和其他互联网网站一样,Reddit的流量也很容易激增。在重大的、有新闻价值的事件中尤其如此,但在一天中的某些时段也是如此。
比起凌晨三点,人们更有可能在工作或学校的午休时间浏览网页——至少在Reddit流行使用的国家是这样。
问题是,租用数百或数千台服务器非常昂贵,而Reddit从来都不是最赚钱的公司。
假设Reddit有500个服务器可用。在一天的大部分时间里,他们的服务器甚至可能没有以50%的容量运行。因此,在一天的大部分时间里,如果需要的话,他们可以有效地使用一半的服务器。
有了额外的服务器,即使在一天中最繁忙的时间,服务也会保持稳定。
然而,Reddit知道在重大事件中——无论是突然发生的,还是计划好的(比如大型体育决赛),他们都会经历流量激增,使他们超过容量。这提供了两个选项。
要么Reddit可以租用更多很少被使用的服务器,要么他们可以允许网站为一些人关闭。
最终,Reddit可能发现,让网站宕机一段时间比为短暂的流量激增而租用额外的服务器更有利可图。
虽然他们的情况显然比这个例子要复杂一些,但这被认为是最有可能的情况。Reddit肯定可以租用更多的服务器和更多的员工来确保接近100%的正常运行时间,但这可能比在高峰时刻让网站宕机一段时间要昂贵得多。
3.Reddit的CDN不起作用
我们现在知道,Reddit有数百甚至数千个不同的服务器,它们一起工作以顺利地发布内容。
但你知道这一切还有另一个层面吗?
Reddit利用了一种叫做内容交付网络(CDN)的东西。这个网站也使用了Cloudflare。
从本质上讲,cdn的工作是通过将相同的内容传播到不同的服务器来帮助网站更快地加载,从而为世界各地的访问者更快地加载。
例如,您现在正在阅读的页面的副本可能存储在世界各地200多个不同的服务器上。这样,例如,如果你在新西兰,你可能会加载Cloudflare存储在新西兰服务器上的页面副本,而不必一直连接到我们在美国的服务器。
你可以这样想:
- 我们在美国有一个主要的服务器
- Cloudflare -我们的CDN,从我们的服务器上获取页面副本,然后将它们传播到他们在90多个国家的200多个服务器上。
- 您的设备从离您最近的Cloudflare服务器上获取页面副本,因此加载速度更快。
- 如果没有副本,那么您将连接到附近的另一个Cloudflare服务器,如果没有可用的服务器,则直接连接到我们的服务器。
Reddit的运作方式与此相同。问题是,有时CDN不能正常工作——这是另一个可能会坏掉的东西。
当这种情况发生时,您将遇到“我们的CDN无法到达我们的服务器”错误消息,这可能需要几分钟才能解决。
4.站点越大越难管理
最后,有可能Reddit实际上是遇到与服务器容量无关的技术问题。
例如,如果你收到一条消息说“你打破了Reddit”或“500。内部服务器错误”,这可能是技术问题,而不是他们的服务器或CDN宕机。
不用说,像Reddit这样的大型网站更容易出现问题。不仅有更多的用户,而且网站的架构也更加复杂。
不幸的是,如果某个地方出现了错误,Reddit的整个功能就会停止正常工作。
值得庆幸的是,这类问题往往很快就会得到解决。像Reddit这样规模的公司肯定有工程师夜以继日地纠正任何问题,所以通常等待几分钟并刷新页面就会使错误消失。
所以,你要做的就是等待!
结论
不幸的是,Reddit不像其他大型网站,经常宕机。
通常,这是由于流量激增和服务器容量不足,而不是网站本身的错误。
我希望这篇文章对您有所帮助。如果你对Reddit有任何其他问题,请使用下面的评论表单询问他们。
祝你一切顺利,
-詹bob官方粉丝群姆斯·麦卡利斯特