<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網易首頁 > 網易號 > 正文 申請入駐

      3個中國程序員 vs 3個美國程序員,不得不承認,差距太大了!

      0
      分享至

      大概是2009年,我和兩個好哥們聊天,覺得智能手機可能是風口,商量著要弄一個照片分享網站。

      用戶可以用手機把隨手拍的照片放到網上分享,名稱都起好了,叫InstantPost

      可是我們的執行力太差了,聚了兩次,做了一點兒技術驗證,就沒有下文了。

      過了幾年,我看到美國一個叫Instagram的火了,不由地一拍大腿:臥槽!這不就是我們當年要做的事兒嗎?!


      后來我看到Instagram初期的故事,他們也是三個程序員,從2010年10月到2011年12月,在一年多的時間內,就把用戶數量從0增長到了1400萬!

      看完他們的架構設計,我就釋然了,拋開執行力,在2009年那個時間點,我們確實不行。

      Instagram制定的架構指導準則是:

      1.保持簡單

      2.不要重新發明輪子

      3.盡可能使用經過驗證的可靠技術

      所以早期的Instagram跑在云上,使用EC2和Ubuntu Linux 11.04。

      接下來,站在一個用戶會話(Session)的角度,來看看Instagram的處理過程。

      前端

      Session:用戶打開了Instagram APP。

      2010年,Instagram開發了一個iOS app,正式推出。

      因為這時候Swift還沒有發布,他們用了Objective-C,UIKit等技術。


      負載均衡

      Session:打開App后,會向后端發起一個請求(獲取主界面的“信息流”),這個請求會首先到達Instagram的負載均衡。

      Instagram 最早使用2個Nginx并在它們之間進行DNS Round-Robin,這種方法的缺點是,如果某一個機器出現故障,DNS的更新需要時間。

      后來他們選擇了Amazon的Elastic Load Balancer,這里有三個NGINX實例,可以換入換出。


      后端

      Session:負載均衡會把請求轉發給應用服務器

      Instagram用Django作為后端服務,運行在 Amazon High-CPU Extra-Large 上,因為這三個程序員發現,后端服務是CPU密集型的。

      Gunicorn做WSGI Server。


      應用運行在超過25臺亞馬遜虛擬機中,這些應用都是無狀態的,可以在需要的時候進行擴展。

      為了在多臺機器上運行命令(例如部署代碼),Instagram使用了Fabric,它有一個很好用的并行模式,部署只需要幾秒鐘。

      數據存儲

      Session: 用戶請求到達了應用服務器,接下來它需要獲得這些數據:

      1.最新的Photo IDs

      2.這些Photo ID對應的實際照片

      3.這些照片的用戶數據

      Database: PostgreSQL

      Session: 應用服務器從PostgreSQL獲取最新的Photo ID,這里保存著用戶和照片的元數據。

      大部分的數據,如用戶,照片元數據,標簽等都保存在PostgreSQL數據庫中。

      因為數據量不小,每秒鐘有25個照片上傳,并且有90個贊,Instagram對數據做了分片

      分片系統由數千個邏輯分片組成,這些分片在代碼中被映射到少得多的物理分片,用這種辦法,可以從少量的數據庫開始,擴展到更多的數據庫。

      當擴展時,只需要把邏輯分片從一個數據庫“指向”另外一個即可,無需挪動任何數據。

      一個挑戰是:Instagram如何解決Photo ID問題,因為需要能按時間排序,而無需獲得有關照片的更多信息,理想情況下,ID應該是64位的。

      后來的解決方案是這樣的:

      41位:記錄毫秒時間

      13位:邏輯分片ID

      10位:自動增長的序列,模數1024,這意味著每毫秒,每個分片可以生成1024個ID

      最終結果是個64為整數,可以被PostgreSQL排序,找到最新的照片。

      照片的存儲:S3 和Cloudfront

      Session: 獲取了Photo ID以后,應用服務器要獲取真正的照片,快速發給用戶

      照片保存在Amazon S3中 ,存儲了幾個TB的數據,通過使用CDN(Amazon CloudFront ),照片可以快速分發給世界各地的用戶(例如日本,是Instagram第二大受歡迎的國家)

      緩存

      Instagram 需要將大約 3 億張照片(ID)和創建它們的用戶ID的映射保存起來,以便知道查詢那個分片。

      他們選擇了Redis后發現,為了保存這些映射,Redis需要21GB內存,這已經大于 Amazon EC2 上的 17GB 實例類型。

      后來他們向Redis的核心開發人員Pieter Noordhuis求助,Pieter建議使用Redis Hash,最終通過巧妙的設計,這些映射僅需不到5G的內存。

      對于其他緩存(如session),Instagram使用Memcached,當時有6個實例。


      數據備份

      無論是PostGreSQL還是Redis,都會使用Amazon EBS經常性進行數據備用

      通知和異步任務

      Session: 用戶關閉了App,但是朋友發送了一張照片,需要發送一個通知。

      Instagram的推送服務用的是 pyapns, 這是一個開源的、通用的蘋果推送服務提供商,運行非常穩定,為Instagram處理了超過10億條推送通知。

      Session:用戶非常喜歡這張照片! 他決定在Twitter何Facebook上分享。

      在后臺, 任務被推送到了Gearman, 這個任務隊列會保存任務,Instagram有大約200 Python workers 來處理這些任務。


      監控

      Session: Uh oh! 服務器端發生了錯誤,Instagram崩潰了,那三個程序員需要收到告警,馬上進行處理。

      Instagram 使用 Sentry這個開源的應用來實時監控Python錯誤。

      使用Munin來繪制各種系統指標的圖表,如果有任何情況超出正常范圍,就會向程序員發出異常告警。Instagram 有一堆自定義 Munin 插件來跟蹤應用程序級別的指標,例如每秒發布的照片、每分鐘注冊人數等。

      對于外部服務的監控,使用了Pingdom ,PagerDuty 用于處理事件和通知。

      最終的架構


      反思

      2009年,我們三個都在比較傳統的軟件公司,互聯網技術用得比較少。

      像負載均衡、分庫分表、緩存也是剛剛開始接觸,還沒有在生產系統中大規模使用的經驗。

      iPhone還沒在國內上市,我們仨手頭都沒有,還在用諾基亞的“智能機”做測試。

      國內市場也沒有很好的云服務作為基礎設施,當時李彥宏表示,云計算只不過是新瓶裝舊酒,15年來沒有新東西,馬化騰則認為云計算要像水電一樣用還為時尚早。

      如果執行力強的話,InstantPost應該能做出來,但肯定會遇到很多的坑,想取得一年1000多萬用戶肯定是癡心妄想。

      當然,這僅僅說明我們三個比較菜,不是中國程序員不行,中國程序員在互聯網時代也創造了很多優秀的產品,甚至殺到了美國大本營。

      我想說的是,很多看起來是風口的東西,我們是抓不住的,因為:

      我們不是局內人。

      (強烈推薦這篇文章《》)

      全文完,覺得不錯的話點個贊或者在看吧!

      參考資料:

      https://engineercodex.substack.com/p/how-instagram-scaled-to-14-million (本文主體內容的來源)

      https://instagram-engineering.com/what-powers-instagram-hundreds-of-instances-dozens-of-technologies-adf2e22da2ad

      https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c

      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關推薦
      熱點推薦
      軍事?| 特朗普,意外不意外,驚喜不驚喜?

      軍事?| 特朗普,意外不意外,驚喜不驚喜?

      新民周刊
      2025-12-15 09:08:02
      日韓股市跳水,AI概念普跌,軟銀跌超6%,加密貨幣11萬人爆倉

      日韓股市跳水,AI概念普跌,軟銀跌超6%,加密貨幣11萬人爆倉

      21世紀經濟報道
      2025-12-15 09:33:24
      謝霆鋒大兒子深圳餐廳被偶遇,高清生圖驚艷全網,五官立體獲好評

      謝霆鋒大兒子深圳餐廳被偶遇,高清生圖驚艷全網,五官立體獲好評

      科學發掘
      2025-12-13 21:16:30
      曾風靡一時的潮汕牛肉火鍋,為何如今涼了?網友:套路太深了

      曾風靡一時的潮汕牛肉火鍋,為何如今涼了?網友:套路太深了

      餐飲新紀元
      2025-12-13 07:15:41
      沒有小車,不會騎電車,怎樣送孩子上學?嘴毒網友點出成年人真諦

      沒有小車,不會騎電車,怎樣送孩子上學?嘴毒網友點出成年人真諦

      另子維愛讀史
      2025-12-14 17:05:37
      高市政府要取消中國留學生特權,已實行42年的“所得稅豁免”政策

      高市政府要取消中國留學生特權,已實行42年的“所得稅豁免”政策

      日本物語
      2025-12-12 18:11:38
      泰國采購的中國坦克前線炸膛?外媒嘲諷:結果泰國士兵出來辟謠了

      泰國采購的中國坦克前線炸膛?外媒嘲諷:結果泰國士兵出來辟謠了

      軍機Talk
      2025-12-15 10:41:46
      卡拉格:不認為維拉會奪冠,但英超教練中只有瓜帥比埃梅里強

      卡拉格:不認為維拉會奪冠,但英超教練中只有瓜帥比埃梅里強

      懂球帝
      2025-12-15 06:08:08
      本澤馬表示愿意重返法國隊,法國足協主席:這需要德尚做選擇

      本澤馬表示愿意重返法國隊,法國足協主席:這需要德尚做選擇

      懂球帝
      2025-12-15 09:43:37
      九天一出,美媒的天塌了

      九天一出,美媒的天塌了

      書中自有顏如玉
      2025-12-14 01:42:02
      張賢亮:性、政治和權力

      張賢亮:性、政治和權力

      尚曦讀史
      2025-12-12 09:01:03
      近期,又有兩家大房企,雷了!

      近期,又有兩家大房企,雷了!

      老楊聊房
      2025-12-14 23:51:35
      騙光明星20億,連親媽都不放過,他是霍英東“最頭疼”的一個兒子

      騙光明星20億,連親媽都不放過,他是霍英東“最頭疼”的一個兒子

      牛牛叨史
      2025-12-09 02:08:36
      明年生娃不用花錢的新聞,還是引發了大面積討論!

      明年生娃不用花錢的新聞,還是引發了大面積討論!

      林中木白
      2025-12-13 17:18:50
      事實證明!陪馬克龍回國的鞏俐,可能已經走上了另一條大道

      事實證明!陪馬克龍回國的鞏俐,可能已經走上了另一條大道

      夢史
      2025-12-13 11:46:11
      深圳樓市驚現“平行世界”:豪宅狂歡,剛需入冬

      深圳樓市驚現“平行世界”:豪宅狂歡,剛需入冬

      新浪財經
      2025-12-14 23:26:46
      12月13日俄烏:烏軍收復庫皮揚斯克

      12月13日俄烏:烏軍收復庫皮揚斯克

      山河路口
      2025-12-13 19:14:23
      震驚!楊蘭蘭案第四次庭審,驚爆全網

      震驚!楊蘭蘭案第四次庭審,驚爆全網

      熱點菌本君
      2025-11-16 17:48:30
      廣東男籃擊敗同曦男籃 聽聽賽后媒體專家怎么說 沒有徐杰啥也不是

      廣東男籃擊敗同曦男籃 聽聽賽后媒體專家怎么說 沒有徐杰啥也不是

      云隱南山
      2025-12-15 00:35:54
      演員何晴去世!好友揭露死因,臨終前住院照曝光,暴瘦到難以辨認

      演員何晴去世!好友揭露死因,臨終前住院照曝光,暴瘦到難以辨認

      史襉的生活科普
      2025-12-15 11:01:24
      2025-12-15 12:27:00
      碼農翻身 incentive-icons
      碼農翻身
      有趣且硬核的技術文章
      207文章數 596關注度
      往期回顧 全部

      科技要聞

      平價數碼產品,要和我們說再見了?

      頭條要聞

      巨頭裁員史無前例 員工發現同事"消失":杯子還在桌上

      頭條要聞

      巨頭裁員史無前例 員工發現同事"消失":杯子還在桌上

      體育要聞

      戰勝完全體雷霆,馬刺“瘋狂動物城”只是半成品

      娛樂要聞

      黃綺珊在何晴去世首發,10年悄悄祈福

      財經要聞

      新會陳皮亂象曝光:產地造假、年份速成

      汽車要聞

      奔馳小G諜照,或搭混動或燃油動力

      態度原創

      旅游
      時尚
      健康
      數碼
      軍事航空

      旅游要聞

      大明湖雪后初霽,盡顯古韻今風冬日浪漫

      女人過了60歲也別放棄變美!冬季看看這些穿搭,得體又大方

      甲狀腺結節到這個程度,該穿刺了!

      數碼要聞

      哈趣 C3000:家用×酒店雙模式,跨場景高效投影新體驗

      軍事要聞

      澤連斯基稱烏方已妥協不加入北約 俄方發聲

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 超碰AV在线| 国产又色又刺激高潮视频| 国产精品美女久久久免费 | 在线观看av网站| 超碰在线91| 一本大道色婷婷在线| 久久国产精品-国产精品| L日韩欧美看国产日韩欧美| 中文字幕无码Av在线看| 穆棱市| 无码天堂va亚洲va在线va| 亚洲精品国产AV| 国产成人小说| 一本色道无码道| 亚洲色成人网站www永久| 中国无码人妻丰满熟妇啪啪软件| 成人欧美一区二区三区在线观看 | 伊人网视频| 末成年娇小性色xxxxx| 天堂а√在线最新版中文在线| 欧美人妻精品| 夏河县| 成年女人免费视频播放体验区| 欧美性群另类交| 99自拍视频| 手机AV网址| www夜插内射视频网站| 69精品丰满人妻无码视频a片| 狼友看片| 亚洲无码天天| 男女裸体影院高潮| 亚洲一区二区三区在线播放无码| 婷婷五月麻豆| 国产精品免费看久久久| 爆爽久久久一区二区又大又黄又嫩 | 国产精品久久久久久影视| 国产又黄又爽又不遮挡视频| AV天堂免费观看| 越南女子杂交内射bbwxz| 99久久久精品免费观看国产| 精品久久久久中文字幕无码油|