本文刊出之日,伦敦奥运会已经圆满结束。奥运会一直是厂商测试新技术的试验场,除了因为可吸引世人目光之外,比赛衍生的不可预测性对新技术将会是重大的考验。这次伦敦奥运会是历届以来採用最多开源技术的一次,官方网站完全使用开源技术架设,足以承受全世界关心奥运的用户 24 小时不停存取。
伦敦奥运会官方网站使用了 LAMP (Linux + Apache + MySQL + PHP) 作为主要的基建,技术人员的目标是「便宜而高效」地运作。奥运官方网站在获取巨大价值同时,也面临着巨大存取压力,必须实时支援对外消息的发布与传播,以及维持高速存取的用户体验。为了模拟网站将会出现的庞大流量,组委会在奥运会举行前 6 个月已经开始为网站进行模拟压力测试,包括各种与奥运相关的 Apps。
组委会的担心是有理由的。在 london2012.com 网站裡,有关于奥运会的图片、JavaScript 档桉等内容的大小,远远高于其他普通网站。这些较大的档桉会加重页面载入的负荷,突发情况的发生将令实际的效果更加难以预料,幸好云端技术的出现帮了忙。过去奥运会组委会必须花上许多个星期、花上几百万美元来测试,但云端技术可轻易地模拟出每小时 100 万名用户同时存取网站的流量,并在数分钟内得知测试结果。当然单是这样也不足够,这次奥运会网站亦採用了内容传递网路 (CDN),在火炬接力期间,为网站及电视直播减轻压力。
网站和电视直播的压力有多大?执笔期间美国三大电视网路之一的 NBC,以 11 亿美元买入伦敦奥运会的独家播放权,却因为与英国的时差,害怕深夜时段没有广告而没有直播,竟然将比赛录影后翌日播放,成为众矢之的。美国用户一方面在 Twitter 破口大骂,一方面利用 VPN 和代理伺服器 (Proxy) 等各出奇谋,收看原本只为英国用户提供的串流直播,令 BBC 网站承受意料之外的连线压力,幸好最后亦没出现问题,开源技术应记一功。BBC 早在10年前已经积极引入开源软体,更主持 Kamaelia 和 Dirac 两个开源项目,藉此提升数位广播时的效率和品质。实地的测试结果比任何论点都更有说服力,今后只会有更多企业和机构投入开源。