我们听听国外开发者分析Google为何使用Python
大规模开发系统最重要的经验之一是,几乎任何编程语言都有可能在广泛的分布式系统中使用。
YouTube 和 Google 的大部分其他网络架构都基于许多服务。换句话说,YouTube 和 Google 不是由单个软件提供服务,而是由数千个程序以分布式方式在 Google 的数百万台服务器上运行。每个服务与许多其他服务对话以获得结果。
现在,为什么这种风格的架构会有用?干净利落。它允许您拥有完全不同的功能,独立地分发和扩展它们,并为每个功能提供不同的要求。
一个团队可以处理每个(或多个)服务,从而获得更好的生产力。这意味着如果一项服务不需要非常快速或高效,您可以用一种可能更容易编写和/或维护的语言来编写它,例如 Python(尽管有些人在可维护性方面不同意我的观点)。
同样,需要快速的服务可以用一种语言编写,使您可以更有效地使用资源、更快地响应或拥有更多控制权,例如 C++ 或 Rust。
那么这与 YouTube 或 Google 有什么关系呢?好吧,它们并非都是用 Python 编写的。相反,Google 服务的很大一部分是用 C++ 或近年来的 Go 编写的。
其余的是多种语言,Python 是最大的语言之一,具体取决于工作领域。据我了解,许多 Web 服务器都是用 C++ 编写的。
简单地说,这是因为谷歌从一开始就将其视为计划快速扩展的服务的合适语言。因此,“Page Rank”的当前实现仍然是用 C++ 编写的。
现在,让我们转到 YouTube。对于“网络”服务器(



