推ter HOLD 住大选:少点 Ruby,多些 Java

jopen 12年前

推ter HOLD 住大选:少点 Ruby,多些 Java

        在选举日当天,推ter 服务器每分钟处理的推特数目为—— 327452 条!

        当天,人们在 推ter 上发布了 3100 万条跟选举相关的推特,而 推ter 访问量阶段性飙升,一度达到每秒 15107 条推特。推ter 是如何承受住前所未有的连续高访问量呢?

        据 Arstechnica 报道,推ter 基础架构副总裁 Mazen Rawashdeh 在博客上指出,这是因为公司技术团队在网站基础架构上做了一系列改进,包括逐步脱离 Ruby ,转向在服务器端 Java 虚拟机上运行由 Ruby、Java 和 Scala 结合的代码,同时调整 Ruby 的 runtime,以获得更好性能。

        Rawashdeh 说:“作为迁离 Ruby 的一部分,我们重新配置了服务器,从移动客户端的访问将通过 Java 虚拟机堆栈,避免与 Ruby 堆栈同时进行。”

        自 2009 年后,推ter 使用被称为“Ruby Enterprise Edition” 的 Ruby 修改版本。但是 Ruby 的解释器使 推ter 的服务器处理负荷过重,特别是它的“垃圾回收器(garbage collection)”。推ter 团队一度对其进行优化,保证更好的运行性能,并开发自己的垃圾回收“Kiji”。但现在公司也开始将开发努力转向 Java。