亚马逊推云浏览器Silk 大大提高浏览速度
时间:2011-12-01 来源:cnblogs
亚马逊今天推出了 Silk 浏览器,据介绍,它采用“分裂式浏览器(split browser)”架构,在移动设备中,通过利用亚马逊网络云服务( Web Services cloud (AWS))的运算力和运算速度、给硬件设备加速。Silk 浏览器同时驻留在 Kindle Fire、亚马逊 EC2(亚马逊 Elastic Compute)中。一旦提交页面申请,Silk 会自动决定移动硬件、亚马逊 EC2 的分工(比如,确定子组件在哪里运行),它还可以考虑网络环境、页面复杂性、缓冲内容的位置等因素。
因此 Silk 能提供更快的网络浏览体验,Silk 目前只配备在 Kindle Fire 上。Fire 可以看电影、听音乐、读书、阅读杂志、下程序、玩游戏并上网。
亚马逊 CEO、创始人贝佐斯说:“Kindle Fire 引入一款革命性的新浏览器,它叫亚马逊 Silk。我们重建浏览器软件栈,改变其形态,将运算部件引入到 AWS 中。当你使用 Silk(不必细想,也不必做任何明确的事),你就可以访问亚马逊 EC2 的计算力,加速网络浏览。”
现代浏览器渐复杂:例如,要构建 CNN.COM 主页需要 161 个文件,它由 25 个独立域提供。这种程序的复杂性已成常识。实际上,一个典型的网页需要 80 个文件,它由 13 个独立域提供。无线连接延迟严重,往返需要 100 毫秒。而向一个网页申请提供服务需要数百个往返,当中只有少数能并列执行。最终,网页加载时间要延长数秒。
相反,亚马逊 EC2 彻底、始终与互联网相连,大多网站往返延迟时间只有 5 毫秒,甚至更少;在无线连接时,它们原本会延迟 100 毫秒。另外,EC2有强大的计算能力。EC2的 CPU、存储、内存比移动设备能力大很多。Silk 正是利用了 EC2 的计算力和速度,它从网站上获取所有组件,然后单程、快速提供给 Kindle Fire。
除了比移动处理器计算力更强,亚马逊 AWS 还与主要互联网服务提供商有互连关系,因为许多大型网站就是寄存在 EC2 中的。这意味着大量的网络请求根本不会离开 AWS 架构,从而将传送时间降到数毫秒之内。更甚者,大多的移动浏览器每次执行量受到了处理、内存限制,而使用 EC2 的 Silk 却没有这种限制。 如果需要数百个文件建立网页,贯穿数十个域,Silk 可以与 EC2 同时请求获得这些元素,而不必迫使移动设备处理器超负荷运行,牺牲电池续航时限。
传统浏览器需要等待 HTML 文件,然后才能下载其它网页内容。Silk 不同,它收集数百万网页加载结果,将记录保存在 EC2 中,可以自动获知网页的特点。当其它浏览器还在与主机建立连接时,在引导浏览器寻得内容地址前,Silk 已经将自己获知的内容推入 Kindle Fire 平板中。
一般来说,网络申请先从解析域名开始,与服务器建立联系、建立 TCP 连接,发出 HTTP 申请。为每个申请建立 TCP 连接要耗费时间和资源,它降低了传统浏览器的速度。Silk 持续与 EC 相连,始终为加载下一个页面准备就绪。Silk 还可以使用 EC2 来保持与顶级网站的联系。通过此法可以降低延迟时间, 它是通过持续建立 TCP 连结来实现的。更进一步来说,Silk 的分裂式架构采用了管道、多路复用协议(multiplexing protocol ), 可以在一次连接中发送所有内容。
Silk 利用了亚马逊的协同过滤技术、机器学习算法。每天 Silk 服务器响应数百万页面浏览,它越来越清楚自己渲染的网站,也越来越清楚用户会去哪里。通过观察不同网站的浏览图,它可以改进,对于下一个页面申请进行预判。例如,Silk 发现领先新闻网 85%的访问者下一步会点击网站头条。了解到这些后,EC2和 Silk 可以一同作出决定 Kindle Fire 优先推送的内容。最终,Kindle Fire 用户下一个喜欢的页面,可能已经存在于设备缓存中,如此一来便可瞬间在显示屏上显现。