亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

解析Instagram網(wǎng)站的圖片存儲(chǔ)架構(gòu)

2024-04-25 20:46:36
字體:
供稿:網(wǎng)友

這篇文章主要介紹了Instagram網(wǎng)站的圖片存儲(chǔ)架構(gòu),主要由Python的Django驅(qū)動(dòng)的Instagram后臺(tái)在PostgreSQL和Redis數(shù)據(jù)存儲(chǔ)的使用方面同樣亮點(diǎn)頗多,需要的朋友可以參考下

被Facebook以10億美金收購(gòu)的著名手機(jī)照片分享應(yīng)用Instagram最近吸引了無數(shù)人的眼球,Instagram聯(lián)合創(chuàng)始人Mike Krieger說他們用了8周時(shí)間打造了最初的Instagram,但現(xiàn)在的系統(tǒng)肯定已經(jīng)今非昔比。Instagram技術(shù)團(tuán)隊(duì)曾發(fā)表過一篇文章,介紹了Instagram背后的技術(shù),日前Mike Krieger在名為Scaling Instagram的演講里,又介紹了更多細(xì)節(jié),讓人們能了解到5名技術(shù)人員是如何支撐起整個(gè)系統(tǒng)的。

一張照片上傳的過程是這樣的:

1.采用同步的方式寫入媒體數(shù)據(jù)庫(kù)

2.如果照片上有地理位置標(biāo)簽,則以異步的方式將照片提交給Solr進(jìn)行索引

3.將照片的ID加入每個(gè)關(guān)注者的列表里,該列表保存在Redis之中

4.在顯示Feed時(shí),選取一小部分照片ID,在Memcached里進(jìn)行查詢

5.在設(shè)計(jì)系統(tǒng)時(shí),Instagram的設(shè)計(jì)哲學(xué)是簡(jiǎn)單、為最小化運(yùn)維負(fù)擔(dān)進(jìn)行優(yōu)化并監(jiān)控一切內(nèi)容;其核心原則是保持簡(jiǎn)單,不要重復(fù)發(fā)明輪子,盡可能使用經(jīng)過驗(yàn)證、穩(wěn)定可靠的技術(shù)。

由于只有5名技術(shù)人員(其中僅2.5名后端工程師),精力有限,選擇Amazon的云服務(wù)是個(gè)不錯(cuò)的選擇。目前他們使用了超過100個(gè)EC2實(shí)例用于提供各種服務(wù),運(yùn)行的操作系統(tǒng)是Ubuntu 11.04,之前的一些版本在高流量時(shí)表現(xiàn)不夠穩(wěn)定。在負(fù)載均衡方面,他們使用Amazon的Elastic Load Balancer實(shí)現(xiàn)負(fù)載均衡,后端運(yùn)行了3個(gè)Nginx實(shí)例,SSL只到ELB上為止,降低了Nginx上的CPU負(fù)載。DNS和CDN分別由Amazon的Route 53和CloudFront提供,所有的照片都存放在S3上,目前已經(jīng)有幾TB的規(guī)模了。

用于處理請(qǐng)求的應(yīng)用服務(wù)器運(yùn)行于Amazon High-CPU Extra-Large Instance之上,由于他們的請(qǐng)求更多是CPU密集型的,因此這能更好地平衡CPU與內(nèi)存。采用的開發(fā)框架是Django,WSGI服務(wù)器是Gunicorn,通過Fabric在所有機(jī)器上進(jìn)行并行部署,一次部署僅需幾秒鐘。

用戶信息、圖片元數(shù)據(jù)、標(biāo)簽等大部分?jǐn)?shù)據(jù)存儲(chǔ)在 PostgreSQL 中。

實(shí)踐中發(fā)現(xiàn) Amazon 的網(wǎng)絡(luò)磁盤系統(tǒng)單位時(shí)間內(nèi)尋道能力不行,所以有必要將數(shù)據(jù)盡量放到內(nèi)存中。創(chuàng)建了軟 RAID 以提升 IO 能力,使用的 Mdadm 工具進(jìn)行 RAID 管理。

管理內(nèi)存中的數(shù)據(jù),vmtouch 這個(gè)小工具值得推薦。

PostgreSQL 設(shè)置為 Master-Replica 方式,流復(fù)制模式。利用 EBS 的快照進(jìn)行數(shù)據(jù)庫(kù)備份。使用 XFS 文件系統(tǒng),以便和快照服務(wù)充分配合。 使用 repmgr 這個(gè)小工具做 PostgreSQL 復(fù)制管理器器。

連接池管理,用了 Pgbouncer。Christophe Pettus 的文章包含了不少 PostgreSQL 數(shù)據(jù)庫(kù)的信息。

應(yīng)用程序在連接數(shù)據(jù)庫(kù)時(shí),由Pgbouncer建立連接池。目前,Instagram的數(shù)據(jù)按照用戶ID進(jìn)行分片,某些分片可能會(huì)超出物理節(jié)點(diǎn)的容量上限,為此他們將數(shù)據(jù)分成了很多個(gè)邏輯分片,映射到少數(shù)幾個(gè)物理節(jié)點(diǎn)之上;當(dāng)一個(gè)節(jié)點(diǎn)被填滿之后,可以將某些邏輯分片移到別的節(jié)點(diǎn)上,以緩解該節(jié)點(diǎn)的壓力。隨著數(shù)據(jù)量的增長(zhǎng),以后他們也會(huì)進(jìn)行垂直分區(qū),Django DB Router能讓一切輕松不少。

Instagram也大量使用Redis來存放復(fù)雜的對(duì)象(對(duì)象的大小做了一定的限制),用于主Feed、活動(dòng)Feed、會(huì)話系統(tǒng)及其他相關(guān)系統(tǒng)。因?yàn)橐獙edis的所有數(shù)據(jù)都放在內(nèi)存里,此處同樣也用了High-Memory Quadruple Extra-Large Instance,并對(duì)數(shù)據(jù)做了分片。當(dāng)Redis實(shí)例的請(qǐng)求達(dá)到4萬/秒后,它漸漸成為了瓶頸,于是Redis也做了主從復(fù)制,副本的數(shù)據(jù)會(huì)經(jīng)常導(dǎo)出到磁盤上,通過EBS快照進(jìn)行備份。

除了Redis,他們還使用Memcached來做緩存,目前運(yùn)行了6個(gè)實(shí)例,應(yīng)用服務(wù)器通過pylibmc和libmemcached進(jìn)行連接。雖然Amazon提供了Elastic Cache服務(wù),但該服務(wù)的價(jià)格并不便宜,相比之下,還是運(yùn)行自己的Memcached實(shí)例比較劃算。異步任務(wù)隊(duì)列使用的是Gearman,目前有大約200個(gè)工作進(jìn)程來處理各種任務(wù),比如把照片分享到Twitter和Facebook,通知用戶有新照片等等。Pyapns已經(jīng)處理了十億的推送通知,非常穩(wěn)定,他們還自己開發(fā)了基于Node.js的node2dm,用于向Android設(shè)備發(fā)送推送通知。

監(jiān)控方面,Instagram使用Munin以圖形化的方式呈現(xiàn)整個(gè)系統(tǒng)的運(yùn)行狀況,還通過Python-Munin定制了一些插件,用來顯示業(yè)務(wù)數(shù)據(jù);網(wǎng)絡(luò)守護(hù)進(jìn)程Stated可以實(shí)時(shí)收集數(shù)據(jù)并做匯總;Dogslow會(huì)監(jiān)控進(jìn)程,一旦發(fā)現(xiàn)運(yùn)行時(shí)間過長(zhǎng)的進(jìn)程,便會(huì)保存該進(jìn)程的快照,以便后續(xù)分析,比如響應(yīng)時(shí)間超過1.5秒的請(qǐng)求,通常都是卡在Memcached的set()和get_many()方法上。對(duì)于Python的錯(cuò)誤,只要登上Sentry就能實(shí)時(shí)獲取錯(cuò)誤信息。

HighScalability上還根據(jù)整理Instagram團(tuán)隊(duì)軟件工程師Mike Krieger的演講整理了一些值得借鑒的經(jīng)驗(yàn),比如:

1.找那些你熟悉的技術(shù)和工具,在簡(jiǎn)單的使用場(chǎng)景里先做一些嘗試

2.不要使用兩個(gè)工具來處理同樣的任務(wù)

3.事先準(zhǔn)備降級(jí)方案,以便在需要時(shí)降低負(fù)載

4.不要過度優(yōu)化,或者希望能事先知道站點(diǎn)要擴(kuò)展,對(duì)于一個(gè)初創(chuàng)的社交站點(diǎn)而言,沒什么擴(kuò)展性問題是解決不了的

5.如果一個(gè)辦法不行,趕快換下一個(gè)


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到建站經(jīng)驗(yàn)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
亚洲韩国青草视频| 超碰在线91| 亚洲欧洲精品一区二区| 二区在线视频| 欧美高清第一页| 亚洲h片在线看| 天天操天天干天天爱| 97色伦图片97综合影院| 国产精品色在线网站| 亚洲国产一区视频| 国产啪精品视频网站| 国产成人一区在线| 国产激情视频在线看| 精品国产乱码久久久久久久软件| 欧美一区二区三区性视频| 国产日韩三级| 亚洲国产日韩在线人成电影| 成人av午夜影院| 欧美精品乱码视频一二专区| 亚洲精品欧美专区| 成人免费视频国产在线观看| 久久亚洲精品中文字幕| 日韩av高清在线播放| 国语对白在线视频| 亚洲香蕉伊综合在人在线视看| 成人高清在线视频| 黄色一级视频片| 好吊色欧美一区二区三区视频| 欧美一级网址| 亚洲第一成肉网| 日韩极品视频在线观看| 亚洲精品小区久久久久久| 成人bbav| 先锋资源中文在线| 欧美xxxxx牲另类人与| 亚洲免费高清视频在线| 性少妇bbw张开| 精品女厕厕露p撒尿| 国产精品99蜜臀久久不卡二区| 国产麻豆xxxvideo实拍| 久久影院电视剧免费观看| 久久久久久9999| 天堂网一区二区三区| 性xxxx奶大欧美高清| 精品国产亚洲一区二区三区在线| 一区二区日韩在线观看| 九色porny自拍视频| 手机福利小视频在线播放| 比比资源先锋影音网| 理论片影音先锋| 中文字幕人妻无码系列第三区| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 奇米网人体黄视频| 欧美一级黑人aaaaaaa做受| www中文在线| 2020国产精品久久精品美国| 97在线免费公开视频| 欧美国产精品| 福利社在线免费视频| 国产成人午夜视频| 日韩av电影院| 欧美乱大交xxxxxbbb| 91网站免费观看| 欧美激情在线有限公司| 天堂av在线资源| 麻豆国产精品一区二区三区| 欧美系列亚洲系列| 日本道不卡免费一区| 成年人免费视频播放| 国产精品嫩草影院久久久| 黄色大片网站在线观看| 黄色动漫在线免费看| 中文字幕无码精品亚洲35| 中文字幕欧美日韩在线不卡| 天天干,夜夜操| 欧美激情中文字幕一区二区| 欧美性视频网站| 亚洲精品一区国产| 天天堂资源网在线观看免费视频| 国产精品一区二区人人爽| 中文字幕人成不卡一区| 日本一二三区在线观看| 91中文字幕一区| 538在线视频| 日本一区二区三区四区五区| 久久久久国产精品免费网站| 国产偷人视频免费| wwwww黄色| 青花影视在线观看免费高清| 一区在线观看视频| 天天做夜夜做人人爱精品| 国产喷水福利在线视频| 松下纱荣子在线观看| 国产91精品久久久久久久网曝门| caoporn国产精品免费视频| 国产麻豆xxxvideo实拍| 欧美精品日韩综合在线| 亚洲综合激情网| 妺妺窝人体色WWW精品| 91九色视频在线观看| 亚洲欧美日韩国产yyy| 激情五月综合网| 亚洲蜜桃精久久久久久久久久久久| 卡一卡二卡三在线观看| 亚洲激情网站免费观看| 国产黄在线观看免费观看不卡| 国产精品xxxx喷水欧美| www.国产精| 日韩一区二区三区四区| 精品久久久久久最新网址| 天天躁日日躁狠狠躁免费麻豆| 久久电影国产免费久久电影| 欧洲精品亚洲精品| 精品久久久久一区二区国产| 欧美日韩大陆在线| 亚洲成人综合视频| 午夜精品久久久久久久爽| 琪琪一区二区三区| www.av视频| 欧美性受xxxx黑人xxxx| 日韩另类在线| 特黄国产免费播放| 99久久综合狠狠综合久久aⅴ| 欧美丰满老妇| 一插菊花综合| 久久久久女人精品毛片九一| 丁香婷婷综合激情五月色| 国产不卡一卡2卡三卡4卡5卡在线| 4438全国亚洲精品观看视频| 三级a三级三级三级a十八发禁止| 色婷婷综合久久久久中文一区二区| 丰满大乳国产精品| 亚洲一区二区在线视频观看| 日韩av在线直播| 麻豆影视国产在线观看| 扒开伸进免费视频| 亚洲三级免费观看| 超碰影院在线| 91精品国产高清一区二区三区蜜臀| 久久男人天堂| 亚洲精品进入| 亚洲精品一级二级| 国产一区二区三区| 在线观看你懂的网站| 亚洲最大福利视频| 香蕉视频一区二区| 中文字幕一区二区三区av| 久久久久这里只有精品| 激情懂色av一区av二区av| 成人美女在线观看| 中文字幕一区二区三区免费视频| 欧美床上激情在线观看| 欧美日韩一级片网站| 蜜桃精品wwwmitaows| 中文字幕在线观看日| 中文字幕一区二区三区在线视频| 99亚洲一区二区| 欧美性生活久久| 欧美成人精品一级| 推川ゆうり中文亚洲二区| 精品国产美女a久久9999| h视频在线观看免费网站| 伊人影院综合网| av不卡在线免费观看| 中文字幕三区| 久久福利视频网| av网站免费播放| 欧美黑吊大战白妞| 偷拍一区二区三区四区| 亚洲精品一区二区在线观看| 亚洲视屏在线播放| 亚洲女同中文字幕| 国产午夜三区视频在线| 91免费的视频在线播放| 成人在线观看免费| 国产精品露脸自拍| 制服.丝袜.亚洲.中文.综合| 成人精品在线视频观看| 天天爱天天做色综合| 欧美少妇一区二区| 在线视频第一页| 性网站在线播放| 一区二区三区欧美亚洲| 日韩三区在线观看| 日本一二三区不卡| 国产一区不卡在线| 国产在线一二三区| jlzzjlzz欧美大全| 国内自拍亚洲| 国产中文字幕在线免费观看| 成年女人18级毛片毛片免费| 欧美一区三区二区在线观看| 9色在线观看| 最近中文字幕一区二区三区| 日韩成人中文字幕| www.就去干.com| 精品美女一区二区三区| 欧美裸体视频| 亚洲影院在线播放| 久久人人爽人人片| 91精品产国品一二三产区| 精品一区2区三区| 国产情侣久久久久aⅴ免费| 伊人久久av| 久久国产精品1区2区3区网页| 国产亚洲欧美在线视频| 国产1区2区3区4区| 国产精品扒开腿做爽爽| 亚洲成av人片在www色猫咪| 性xxxxfjsxxxxx欧美| 中文字幕亚洲精品在线| 亚洲精品菠萝久久久久久久| 在线观看免费视频一区二区三区| 国产亚洲欧美精品久久久久久| a级片国产精品自在拍在线播放| 97最新国自产拍视频在线完整在线看| 77777_亚洲午夜久久多人| 国产乱淫a∨片免费观看| 国产网站观看9久| 美国黄色一级毛片| 国产不卡网站| 亚洲av无码一区东京热久久| 中文字幕av久久| 91精品久久久久久久久久久久久| 99riav1国产精品视频| 亚洲国产无码精品| 国产在线拍揄自揄视频不卡99| 日本一二三区视频在线| 日韩视频专区| 日韩av图片| 欧美一区二区在线观看视频| 精品人妻少妇AV无码专区| 亚洲青青青在线视频| 国产精品一区av| 国产精品综合激情| 欧美 日韩 精品| 舐め犯し波多野结衣在线观看| 性欧美大战久久久久久久| 福利视频一区二区三区四区| 91视频免费在线看| 日韩人妻精品一区二区三区| 99r精品视频| 国精产品一区| 国产高清视频一区二区| 91美女在线| 日日摸夜夜添夜夜添亚洲女人| 日韩黄色在线| 欧美xingq一区二区| 奇米色欧美一区二区三区| 中文字幕永久在线观看| 日韩写真欧美这视频| 成人91免费视频| 国产日韩欧美精品电影三级在线| 91精品办公室少妇高潮对白| 欧美激情一区二区三区久久久| 中文字幕av免费专区久久| 亚洲成在人线免费观看| 欧美午夜视频网站| 黄页网站在线免费观看| 欧美激情第一页在线观看| 欧美日韩国产成人在线| 欧美精品成人网| 手机看片福利盒子久久| 国产欧美一区二区三区在线观看视频| 久草网站在线| 欧美一卡2卡3卡4卡无卡免费观看水多多| 女人天堂av在线播放| 91免费国产在线观看| 91免费欧美精品| 日韩一级精品视频在线观看| 一区二区三区中文字幕| 色婷婷一区二区三区四区| 亚洲国产美女视频| 精品久久久久久久久久久下田| 99久久精品国产麻豆演员表| 国产三级自拍| av女优在线播放| 一区二区在线视频播放| 自拍偷拍21p| 国产精品久久久久久久久粉嫩av| 亚洲精品国产系列| 精品久久99ma| 日韩高清在线一区二区| 色诱女教师一区二区三区| 一区二区视频在线观看免费的| 日韩av官网| 免费成人看片网址| 宅男66日本亚洲欧美视频| 一本一道久久综合狠狠老精东影业| 91精品久久久久久综合乱菊| 亚洲精品成人自拍| 91在线免费网站| 精品久久一区二区| 亚洲精品日韩专区silk| 青青影院一区二区三区四区| 亚洲欧美一区在线| 成人亚洲性情网站www在线观看| 在线视频国产三级| 国产精品19乱码一区二区三区| 黄色成人在线视频| 久久久久影视| 精品人妻无码一区二区性色| 欧美不卡视频一区发布| 好吊色欧美一区二区三区视频| 成人深夜直播免费观看| 日本少妇裸体做爰| av日韩久久| 超免费在线视频| 亚洲人成网站77777在线观看| 免费高清在线视频一区·| 国产一二区在线| 国产一级二级三级视频| 老太脱裤子让老头玩xxxxx| 日韩电影中文字幕| 蜜桃视频m3u8在线观看| √天堂资源地址在线官网| 国产又色又爽又黄刺激在线视频| 日韩经典在线观看| 一级特级黄色片| 伊人久久免费视频| 韩日欧美一区二区| 国产高清自拍视频| 久久精品亚洲成在人线av网址| 国产精品性做久久久久久| 怡红院av久久久久久久| 国产大片在线观看| 天天色天天综合网| 成年网站在线|