Google Docs 的后端
谷歌在运营方面,一直以其保密性而闻名。关于 Google Docs 所使用的系统,目前没有太多公开信息。但我们可以根据谷歌的其他运营情况做出一些合理的假设。首先,让我们从已知信息开始。
谷歌使用 Java 编程语言构建了处理 Google Docs 所有主要功能的软件——在传统网络中,这些部分被称为系统的服务器端。 Java 是由 Sun Microsystems 开发的一种面向对象的编程语言。谷歌使用 Java 编程语言来构建和开发 Google Docs 应用程序。
广告
系统的用户端——在传统网络中被称为客户端——由通过 Javascript 编程语言增强的 Web 应用程序组成。 Javascript 和 Java 不是一回事。Java 语言允许程序员构建从完整应用程序到小型小程序(applet)的各种程序。可以构建独立于其他软件运行的 Java 应用程序。开发人员使用 Javascript 来增强 Web 服务。它无法在 Web 浏览器环境之外运行。
除了这些事实,只有谷歌内部人员才知道支持 Google Docs 的系统是如何工作的。但基于像Google 文件系统这样的计算机网络,我们可以做出一些假设
- 谷歌一直以来都尽可能使用廉价的现成硬件。可以合理地假设,处理 Google Docs 的服务器并不是特别强大或先进。它们更可能是“主力”型计算机。由于硬件相对便宜,为系统添加更多资源并不昂贵。当一个系统易于增加容量时,它被称为一个可伸缩的系统。
- 一种可能的硬件配置将包括应用服务器和数据库服务器。应用服务器将运行使 Google Docs 成为可能的核心软件。数据库服务器充当存储角色。谷歌可能还会使用一个充当“看门人”角色的控制或管理服务器。
- 由于廉价硬件并非总是可靠的,谷歌在设计其计算机系统时,就考虑到部件会定期出现故障。这意味着谷歌很可能将 Google Docs 文件存储在多个数据库服务器上,这一策略称为冗余。如果一台服务器出现故障,Google Docs 可以从另一台服务器中提取信息。服务器可能会向中央控制服务器发送消息,以更新文件并保持最新。
Google Docs 系统需要多少台机器才能运行?这同样是个谜。谷歌拥有数个大型数据中心。数据中心是容纳计算机设备的建筑物,这些设备通常存储在称为机架的金属货架单元中。一个大型数据中心可能容纳数千台服务器。
Google Docs 的未来将如何?我们将在下一节探讨。