020-29815005
预约专线时间:09:00-23:59

Python究竟牛在哪里?

新闻来源:本站 日期:2021-06-22
Python在大型项目中的表现究竟如何呢?现在我们来看具体的分析。
  是否可以使用Python开发大型项目?

  看了一些人说:一般的小项目,写python的代码超过1000行都是很虐心的,代码超过10w之后就不要想用python进行开发。

  因此,Python在大型项目中的表现究竟如何呢?现在我们来看具体的分析。

  在玩Python时,我了解到,那些使用Python的优秀的大型互联网公司,不在FaceBook之列。

  你能理解吗整个Instagram注册用户已经达到30亿,月活超过7亿。然而,在如此高的访问量背后,却完全是Python+Django,它的速度之慢让人惊讶。

  直到今天,已有30多亿注册用户。在Python和Django中,Instagram仍然是主要用户。Instagram的工程师HuiDing说:“直到用户ID超过了32bitint限制(大约20亿),Django本身还没有成为我们的瓶颈。”

  除了使用Django的本机功能,Instagram还对Django进行了大量定制:

  扩大Djangoyels使之支持Shing(一种数据库分片技术),InstagramEngyeringblog就是针对这个问题专门写的一个blog,可以参考:Shing&IDsatInstagram。

  为了提高Python的内存管理效率,我们手工关闭了GC(垃圾收集),而为了演示这一点,他们还写了一个博客:DismissingPythonGarbagehlecyatInstagram。

  ·将整套系统部署在位于不同地理区域的多个数据中心。

  它意味着什么?那说明没有坏语言,只有不懂语言的人。

  看一看FB的相关使用,在Facebook上,Python是最常用的语言之一,在流行程度方面排在这个听起来可能会让很多Python爱好者大吃一惊。

  实际上,Facebook的工程师们已经建立并维护了上千个Python库和项目,它们都在Facebook的生产环境中被公开。


Python


  Facebook架构代码21%。

  数百万行代码,数千个库和二进制代码。

  从2016年到现在,每个月平均提交5000份,1000份提交。

  在2016年5月之前,报告中有5%的Python代码使用Python3。

  在运营领域应用Python。

  facebook基础架构团队大量使用Python,在生产环境中Python可以说是无处不在。通常,个别的团队为其自己的服务维护一个Python客户端(通常是thrift),该客户端可以为其他团队提供简单可依赖的接口,以便其他团队能够随时调用其服务。

  通过使用这些库,产品工程师可以编写更少的代码,并降低测试和维护成本。让他们能迅速地将自己的服务接入Facebook的基础设施,同时允许该体系结构有效可靠地扩展。

  基本结构管理。

  Python工程师拥有大部分Python软件,并使用它们管理Facebook的基础架构。即使这些软件并非100%由Python编写,但至少它们涵盖了硬件设备的整个生命周期,从硬件进入数据中心到硬件被废弃。

  论坛服务

  当基础设施规模扩大时,一些单一服务被分割成多个组件,在这个过程中产生了大量不同用途的Python服务。

  管理服务配置。

  在Chef中完成了主机级别的配置管理。通过Facebook内部的一个叫做Configerator的项目,我们对服务水平进行了配置管理。通过Python代码,工程师可以生成配置对象,这些配置存储在JSON文件中,可以读取任何服务。验证程序,也是由Python编写的,用于验证这些配置是否正确。Python还是项目Tupperware的配置语言,该项目是一个容器部署系统。

  利用Python,我们可以动态地生成配置对象,而不必创建、维护、学习复杂的模板系统。

  Python工具甚至在运维配置中也被广泛使用。

  脸谱的规模让Python的效率达到了极限,在代码中使用了大量库(Twisted、Gevent、futys、AsyncIO等)。除非有必要使用Python2,否则许多移植项目或新项目都会使用Python3。现在,我们正在使用Python3编写服务中5%的代码。

  看一看大公司是怎样使用python的?

  因此,Python在大型项目中的表现非常出色。而现在,你可以从Python中学到很多东西,包括正式工作、或者兼职。