2020-08-24 14:19

以确保每个Android设备的网站可用性和速度

导读运行一个XDA大小的网站并非易事-我们依靠费城的Web开发团队,再加上我们的托管公司LeaseWeb提供的出色产品和服务,以确保每个Android设备的

运行一个XDA大小的网站并非易事-我们依靠费城的Web开发团队,再加上我们的托管公司LeaseWeb提供的出色产品和服务,以确保每个Android设备的网站可用性和速度。爱好者知道并喜欢。知道我们的访客本质上比大多数人更具技术性,因此我们认为他们可能会对XDA的“幕后花絮”有所了解,以了解使我们运转的原因。

核心堆栈

持久数据:Percona MySQL

对象缓存:Memcache / Redis

语言/应用程序:PHP,具有不断增长的Python存在。我们也在尝试Go

负载平衡/ Web缓存:Nginx

搜索:狮身人面像

自动化部署:Capistrano

代码管理:Github

XDA论坛已经在vBulletin上运行了很长时间。该软件已使用许多插件和自定义插件进行了修改,此外,我们进行了一些核心调整,以为非典型论坛提供近6000万个帖子。

硬体

2013年,我们将托管基础架构移至了LeaseWeb。在弗吉尼亚州的数据中心中,我们有一个机架网络设备和服务器来托管我们的服务器。我们使用IBM企业级硬件,大多数服务器在RAID阵列中都有SSD驱动器,以确保数据可靠性。它们通过1G专用后端网络连接,并具有10G上行链路到Internet。

对我们来说,游戏的名称是冗余。万一以太网电缆损坏,我们有多个网络连接,还有多个硬盘驱动器和多个交换机,以确保进一步的冗余。这可以确保,如果任何一件设备出现故障,我们将保持运行状态,以便我们的用户可以继续使用该站点而不会遇到任何麻烦。实际上,硬件确实会变质。我们最近有一个实例,在该实例中,我们在软件更新后重新启动了服务器,但该服务器并未恢复在线。用LeaseWeb开票后,他们的技术人员确定硬件已损坏,并在几个小时内就更换了硬件。知道数据中心有能力为您解决此类问题对我们非常重要,这也是我们继续使用LeaseWeb的原因之一。

一起拉

我们会竭尽所能。从监视每台服务器上硬盘驱动器的活动到XDA上实际页面加载的性能,一应俱全。出现问题时,我们会迅速注意到并可以在短时间内准备好修复程序。

为了进行开发,我们使用Ubuntu机器或运行Ubuntu的虚拟机以及相对较接近的生产环境克隆。这使我们能够测试软件版本的更改和跨分支的代码更改。话虽这么说,没有什么比将我们的代码推送给数百万的访客并使它的反应与您预期的有所不同了。这已经发生在我们所有人身上,尽管它从来都不是很有趣,但是它确实提供了一种有趣的学习体验。

Web开发世界中有很多值得期待的东西,例如新的HTTP / 2更改,Web套接字和Golang。我们也开始使用Docker,这实际上是使开发人员更轻松地在非常接近生产的技术堆栈上启动和运行的绝佳方法。

如果您对我们的基础架构有任何疑问,请在下面的评论中告诉我们,我们将尝试为您解答。当然,非常感谢主持人LeaseWeb,它帮助我们为XDA设计了定制的解决方案。如果您有服务器需求,无论大小,请查看它们。我们感谢他们赞助本文。