【转载】Instagram架构分析笔记
生活随笔
收集整理的這篇文章主要介紹了
【转载】Instagram架构分析笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文地址:http://chengxu.org/p/401.html
?
Instagram 架構分析筆記 全部 技術博客Instagram團隊上個月才迎來第 7 名員工,是的,7個人的團隊。作為 iPhone 上最火爆的圖片類工具,instagram 用戶數量已經超過 1400 萬,圖片數量超過 1.5 億張。不得不說,這真他媽是個業界奇跡。幾天前,只有三個人的 Instagram 工程師團隊發布了一篇文章:What Powers Instagram: Hundreds of Instances, Dozens of Technologies,披露了 Instagram 架構的一些信息,足夠勾起大多數人的好奇心。讀罷做點筆記,各種線索還是有一定參考價值的。能打開原文的建議直接讀原文。Instagram 開發團隊奉行的三個核心原則: Keep it very simple (極簡主義) Don’t re-invent the wheel (不重復發明輪子) Go with proven and solid technologies when you can(能用就用靠譜的技術) OS/主機操作系統的選擇,在Amazon EC2上跑 Ubuntu Linux 11.04 (Natty Narwhal) ,這個版本經過驗證在 EC2 上夠穩定。因為只有三名工程師,只有三名工程師,所以自己部署機器到IDC是不靠譜的事情。幸好有亞馬遜。負載均衡此前曾用過兩臺 Nginx 做DNS輪詢承載前端請求,這樣做會有副作用,現在已經遷移到Amazon的ELB(Elastic Load Balancer),起了三個 Nginx 實例,在 ELB 層停掉了SSL, 以緩解CPU壓力。DNS 服務使用 Amazon Route53 服務。應用服務器啟用了 25 個 Django 實例,運行在 High-CPUExtra-Large 類型的服務器實例上,之所以用 High-CPUExtra-Large 實例是因為應用請求是CPU密集型而非IO密集型。使用Gunicorn作為 WSGI 服務器。過去曾用過 Apache 下的 mod_wsgi 模塊,不過發現 Gunicorn 更容易配置并且節省CPU資源。使用Fabric加速部署。數據存儲用戶信息、圖片元數據、標簽等大部分數據存儲在 PostgreSQL 中。主要的 Shard 數據庫集群有 12個節點。實踐中發現 Amazon 的網絡磁盤系統單位時間內尋道能力不行,所以有必要將數據盡量放到內存中。創建了軟RAID以提升IO能力,使用的Mdadm工具進行RAID管理。管理內存中的數據,vmtouch這個小工具值得推薦。PostgreSQL 設置為 Master-Replica 方式,流復制模式。利用 EBS 的快照進行數據庫備份。使用 XFS 文件系統,以便和快照服務充分配合。 使用repmgr這個小工具做 PostgreSQL 復制管理器器。連接池管理,用了Pgbouncer。Christophe Pettus的文章包含了不少PostgreSQL數據庫的信息。TB 級別的海量圖片存儲在 Amazon S3 上,CDN 采用的也是 Amazon 的服務,CloudFront。Instagram 也是 Redis 的重度用戶,Feed 以及 Session 信息都用 Redis 處理,Redis 也是以 Master-Replica 方式部署。在 Replica 節點上進行數據備份。使用了 Apache Solr 承擔 Geo-searchAPI的工作,Solr 簡單的 JSON 接口也不錯。緩存使用了 6 個 Memcached 實例,庫使用 pylibmc 和 libmemcached。亞馬遜也提供緩存服務-Elastic Cache service ,Instagram 也有嘗試,不過不便宜。任務隊列/發布通知隊列服務使用Gearman,通知系統則使用pyapns來實現。監控前面提及的服務器實例數量加起來,的確有100多個,有效的監控是相當有必要的。使用 Munin 作為主要監控工具 , 也寫了不少定制插件,外部監控用Pingdom的服務。通知服務使用PagerDuty。對于 Python 的錯誤報告,使用 Disqus 團隊開源的Sentry來處理。幾個感想0)輕裝上陣說起來容易,做起來非常難。這也是 Instagram 團隊目前最令人著迷的地方;1)Python 社區已經足夠成熟,各個環節上都已經有不錯的解決方案了。2)如果要問我最大的一個感慨,我要說:Amazon 真是一家偉大的公司,甚至比 Google 還偉大。轉自草根網:原文地址: http://www.20ju.com/content/V189855.htm?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【转载】Instagram架构分析笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Weekly Notes
- 下一篇: CentOS 程序开机自启动方法总结