精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

Instagram遷移到Python 的原因和好處

大小:0.6 MB 人氣: 2017-09-28 需要積分:1

  本文講述了參與到Instagram遷移工作的兩位工程師,Hui Ding和Lisa Guo,他們是如何看待Instagram遷移到Python 3的,以及遷移的原因和好處。以下為譯文。

  現(xiàn)在每天在Instagram平臺上分享的照片和視頻的數(shù)量已經(jīng)超過9500萬。照片中心社交媒體平臺擁有6億多注冊用戶—其中活躍用戶每天大概有4億人。談?wù)勔?guī)模經(jīng)營:當(dāng)規(guī)模達(dá)到了大多數(shù)公司做夢都不敢想的階段以后,Instagram卻選擇了放棄。

  盡管如此,令人印象更深刻的是Instagram在后臺是通過Python(當(dāng)然Django也提供了一點幫助)才能為如此大的訪問量提供可靠而穩(wěn)定的響應(yīng)。沒錯,就是Python-就是那門非常容易學(xué)習(xí),但是通用性卻非常高的編程語言。業(yè)內(nèi)所有人都認(rèn)為:“是的,Python在很多方面都很出色,但它沒辦法做到可擴(kuò)展。”

  每天四億用戶。Instagram不僅成為了世界上最大的Python用戶,而且該公司最近還將其順利地轉(zhuǎn)移到Python 3,用戶絲毫沒有體驗到有任何中斷。Instagram工程師Hui Ding和Lisa Guo最近接受了The New Stack的訪問,他們分享了他們對Python的熱愛,并描述了Python 3的遷移體驗。

  首先請問,Instagram最初為什么會選擇使用Python呢?

  Hui Ding:我是在Instagram被收購以后,作為第一批進(jìn)入到Instagram的一員[Instagram成立于2010年,由Facebook在2012年收購]。從那時起,我們從原本的6名工程師變成了300名。盡管最初的時候我并不是其中一員,但是在我們還是一個很小的團(tuán)隊的初期,我和Instagram的聯(lián)合創(chuàng)始人]Mike Krieger密切合作,所以我有很多關(guān)于為什么選擇Python的歷史背景。

  其原因與Instagram的“先做簡單事情”的工程座右銘是一致的:對工程師來說,Python是非常容易掌握使用的——它很容易上手,也很容易獲得產(chǎn)品,讓團(tuán)隊專注于面向用戶的功能。Python簡潔干凈,有利于實用主義。這是一項已被證實的技術(shù)。最后,Python是一門非常流行的語言,這使得工程團(tuán)隊的發(fā)展變得更加容易。

  是什么問題促使Instagram開始考慮了新的堆棧?

  Ding:隨著我們的發(fā)展,我們發(fā)現(xiàn)Python并不是最快的語言,而且越來越明顯的。AWS也越來越傾向于通過部署更多的服務(wù)器來解決速度問題。但是有一點是遞減的——在一定程度上,性能回歸比用戶增長有更多的資源。從現(xiàn)在開始三到五年內(nèi),我們估計有10億用戶會加入到社區(qū)中,所以是時候開始考慮其他方案了。我們的第一個問題是需要證明切換以后要有足夠高的回報。

  Instagram遷移到Python 的原因和好處

  Instagram用戶的增長正在穩(wěn)步上升——但增速并不像服務(wù)器增長那么快

  Lisa Guo:我們面臨著一個非常大的挑戰(zhàn):在服務(wù)器上增加網(wǎng)絡(luò)的I/O活動。因此,我們需要一種更并行的方式來處理用戶請求。實際上,PHP和Python是Facebook最受支持的生態(tài)系統(tǒng),其他任何平臺既需要學(xué)習(xí)曲線,又需要對工程師進(jìn)行大量新知識的培訓(xùn)。

  所以我們做了一個公共投票活動:“與使用PHP進(jìn)行開發(fā)相比,F(xiàn)acebook更應(yīng)該使用哪一門語言進(jìn)行服務(wù)器端的開發(fā)?”

  Ding:如果我們看到了性能得到大幅度的提升的話,那么我們就會改變,但最終這些成果都沒有展示出來。

  所以這些數(shù)字并不是很有說服力,我們已經(jīng)有了很多工具,對Python也投入了很多。使用python/django棧,我們的用戶量也達(dá)到了幾億,所以我們決定繼續(xù)使用Python。同樣重要的是,我們的工程師非常喜歡Python。這也是他們想要為我們工作的原因。

  這就是為什么團(tuán)隊選擇python 3的原因嗎?

  Ding:當(dāng)時的決定是,我們是否投入到一個相對成熟的版本,但是卻不會棄用Python的—或者選擇Python的下一個版本?因為下一個版本得到了越來越多的社區(qū)支持。這是有道理的,如果我們要在接下來的十年里繼續(xù)使用Python,我們應(yīng)該使用Python的最新版本。在我們決定使用Python 3之后不久,我們宣布在2020年以后將不再支持v2.7。

  性能速度不再是主要的問題,取而代之的是何時能推向市場。 – Hui Ding

  Guo:使用Python 3有三個主要動機(jī):首先,Python不是那種傳統(tǒng)意義上的語言,所以當(dāng)我們開始編寫新代碼時,開發(fā)過程中會出現(xiàn)很多沖突。所以對我們來說,一個很大的動機(jī)就是Python宣布了從v3.5版本開始支持typing-我們的開發(fā)者對這個消息感到非常興奮。

  其次,網(wǎng)絡(luò)問題日益成為瓶頸。

  第三,Python的速度并不快,但是每一個新版本的運行速度都更快——v2.7,每個人都努力使它運行的更快。隨著新版本的發(fā)布,我們會得到Python社區(qū)的支持,我們也會對社區(qū)做出貢獻(xiàn)。

  那遷移的過程是怎樣的?

  Guo:總的來說,花了大約十個月,都是處于不同的階段。

  首先,團(tuán)隊修改了大量的代碼。這花了2到3個月的時間,包括將不兼容的第三方包替換為支持Python 3的包,工作規(guī)則是“沒有Python 3,沒有新的包”,還刪除了未使用的包。

  然后進(jìn)行單元測試,花了兩個月的時間。然后,我們在四個多月的時間里進(jìn)行了緩慢但穩(wěn)定的新版本的推出。到2017年2月初,我們已經(jīng)完全運行了Python 3。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?