Amazon 的全新浏览器 Silk 使用分离式架构

  • Abel Avram
  • 郑柯

2011 年 9 月 30 日

话题:架构AWS云计算

Amazon 开发了基于 WebKit 的浏览器——Silk,它使用 SPDY 维持与 AWS 托管服务的单一连接,在 AWS 上,web 页面可以提前加载和准备,得以推送到设备上。效果就是:浏览速度更快,设备功耗更低,更安全。

Amazon 昨天发布了Kindle Fire,它是基于 Android 的平板设备,其中配备称为Silk的新浏览器。Silk 与传统的浏览方式不同,浏览器的各个子系统——包括网络处理、HTML、CSS、呈现等等,这些子系统的执行在平板和云之前分离开来,浏览器动态判断哪些在 AWS 上执行,哪些在本地执行。AWS 被看做无限大的缓存,用来存储用户将会使用 Silk 加载的页面图像、JavaScript 和 CSS 文件,因此“它在实际设备上一个字节的存储空间都不会占用”,Amazon Silk 的软件研发总监 Jon Jenkins 这么说。这对于 Kindle Fire 区区 8GB 的内部存储来说有其正面效应。

AWS 服务把页面送给 Silk 之前,会准备页面的内容。拿图像来说,根据将要展示的屏幕大小,图像会自动缩减,因此文件变小,传送和加载起来更快。浏览器保持与 Amazon 服务器的单一打开连接,随时准备请求更多内容。同样地,Silk 不需要等待整个 HTML 页面,这样它就可以知道请求的其他内容,因为服务器将会索引页面,而且知道哪些内容将会与 HTML 一起传送。

ArsTechnica提到:Silk 甚至可以在 AWS 上运行 JavaScript 代码,并将其编译、送到 ARM 中。它还可以根据用户的喜好,判断什么时候加载标准的网站页面、什么时候加载移动版本页面。

Amazon 没有详述 Silk 的其他技术细节,但是它的职位招聘指出:Silk 基于 WebKit 的布局引擎,而且大量使用SPDY,这是 Google 运行在 SSL 上的协议,目的是降低 HTTP 造成的延迟。

Silk 会检测用户的总体行为模式,根据用户习惯预加载页面,这引起了对于隐私的担心,但是 Amazon 反驳这些担心,指出这些数据的收集过程是匿名的。

其他人此前曾试过类似处理方式,但是没有 Amazon 拥有的计算能力,广度上也不及他们的解决方案。Opera Mini是为智能手机和 PDA 设计的浏览器,通过 Opera 的代理服务器加载页面,服务器会压缩页面,减少 2 到 3 倍的加载时间,降低传送的数据量。

Amazon 对浏览器的处理方式,将会对页面加载速度、设备功耗和安全性带来正面影响。功耗的降低是因为取内容需要的连接和数据来回传递过程更少,而几乎所有内容在加载之前都可以被扫描,使用基于 SSL 的 SPDY,所有的传输将会更安全。对于 Amazon 来说,从 Kindle Fire 用户通过 AWS 浏览的所有 web 页面中进行数据挖掘,这其中的机会是最大的好处之一。Google 也有类似的低调尝试,它提供Page Speed Service,将网站提供者所有的页面通过 Google 的服务器传递,优化这些页面,但是并未成功。不妨拭目以待 Chrome OS 在未来是否实现类似功能,这倒是挺有意思的事情。

查看英文原文:Amazon’s New Browser, Silk, Is Using a Split Architecture

架构AWS云计算