精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

從AWS遷移到Facebook基礎架構時Instagram越過的坎兒

云計算
在2013年,大約是我們加入Facebook一周年后,每個月有2億人使用Instagram而且我們存儲了200億照片。毫不猶豫的,我們開始了“Instagration”——從AWS服務器移動到Facebook的基礎架構。本文將討論為什么我們要將基礎架構從一個數據中心擴展到三個,和在擴展中遇到的一些技術挑戰。

本文介紹了Instagram從AWS遷移到Facebook基礎架構的過程中面臨的由多數據中心帶來的挑戰和解決方法。

在2013年,大約是我們加入Facebook一周年后,每個月有2億人使用Instagram而且我們存儲了200億照片。毫不猶豫的,我們開始了“Instagration”——從AWS服務器移動到Facebook的基礎架構。

兩年后,Instagram已經成長為月活4億有400億照片和視頻的社區,每秒服務超過100萬請求。為了保持對這種增長的支持和確保社區在Instagram上有一個可靠的體驗,我們決定在地理上擴展我們的基礎架構。

本文將討論為什么我們要將基礎架構從一個數據中心擴展到三個,和在擴展中遇到的一些技術挑戰。

動機

Mike Krieger, Instagram的聯合創始人和CTO,近期寫了一篇文章,文章中提到了一個故事,大約在2012年的時候,弗吉尼亞州的一場颶風癱瘓了將近一半的(服務器)實例。

在接下來的36小時里,這個小團隊重建了幾乎我們全部的基礎架構,這種體驗是他們永遠不想重復的。

像這樣的自然災害有可能對數據中心造成臨時的和***的傷害——我們需要保證在用戶體驗上有最小的損失。

其他的在地理上擴容的動機包括:

區域故障的恢復: 比自然災害更加常見的是網絡短線、電力問題,等等。例如在我們擴展我們的服務到俄勒岡州不久,我們的一個基礎構件,包括memecache和異步層服務器,被關機了,導致了用戶請求的大規模一場。

在我們的新架構下,我們能夠將流量從該區域轉移走,以減輕我們在從電力故障中恢復時的問題。

彈性容量擴展: Facebook有不少數據中心。當我們的基礎架構準備好擴展到一個區域甚至當網絡上有不小的延遲時,可以非常容易的將Instagram的容量擴展到所有可用的容量中。這幫助我們快速決定為用戶準備好新的功能而不用Scramble for基礎架構資源來支持他們。

從一到二

所以我們怎么開始這件事情的? 首先讓我們來看一下Instagram的整體基礎架構棧。

 

擴展到多數據中心的關鍵是區分全局數據和局部數據。全局數據需要在不同的數據中心間復制,而局部數據在每個區域可能不同(例如web服務器創建的異步任務應該只在所在的區域被看到)。

下一個要考慮的是硬件資源。這個可以粗略的氛圍三中:存儲,計算和緩存。

存儲

Instagram主要是用兩種后端數據庫系統:PostgreSQL和Cassandra。他們都有成熟的復制框架來很好的作為全局的一致數據存儲。

全局數據整齊地映射到這些服務器上存儲的數據。目標是在不同的數據中心間保持這些數據的最終一致性,每一個區域有一個讀復制,來避免web服務器的跨數據中心讀。

但是,對PostgreSQL的寫入仍然夸數據中心,因為他們總是要寫到主服務集群上。

CPU處理

Web服務器,異步服務器都是無狀態的容易分布的計算資源,并且只需要訪問本地數據。Web服務器可以創建異步工作,這些異步工作被異步消息代理加入隊列,然后被異步服務器消費,全都在一個區域。

緩存

緩存層是web服務器最常訪問的層,并且它們需要在同一個數據中心中來避免用戶請求的延遲。這意味著對一個數據中心緩存的更新不會反映到另一個數據中心中,因此對遷移到多數據中心創建了一個挑戰。

想象一個用戶在你的***發表的照片上評論。在一個數據中心的情況下,服務這個請求的web服務器可以僅僅在緩存中更新這個新評論。一個關注者會從同一個緩存中看到這個新評論。

然而在多數據中心的情景下,如果評論者和關注者被不同的區域服務,關注者的區域緩存將不會被更新,這個用戶就不能看到評論。

我們的解決方法是使用PgQ, 增強它使得插入緩存失效事件到被修改的數據庫中。

在主節點:

  • Web服務器插入一條評論到PostgreSQL數據庫中
  • Web服務器在同一個數據庫中插入一個緩存失效條目

在從節點:

  • 復制主數據庫,包括新插入的評論和緩存失效條目
  • 緩存失效處理讀取緩存失效條目并且使區域緩存失效
  • Django集群從數據庫中讀到新插入的評論并且重新填充緩存

這解決了緩存一致性問題。另一方面,相對于單區域的例子,django服務器直接更新緩存而不重新讀區數據庫,多區域時會增加數據庫的讀負載。

為了減輕這個問題,我們使用了兩種辦法:1) 通過冗余計數器減少每一個讀需要的計算資源;2) 通過緩存租約減少讀的數量。

冗余計數器

最常見的緩存鍵是計數器。例如,我們使用一個計數器來確定喜歡Justin Bieber的一個具體的帖子的人數。

當只有一個區域時,我們可以從web服務器增加memcache的計數器,所以避免一個“select count(*)”的數據庫調用,這回節省幾百毫秒。

但是在有兩個區域和PgQ失效時,每一個新的喜歡對計數器創建了一個緩存失效事件。這會創建大量的“select count(*)”,尤其是在熱點對象上。

為了減少這些操作每一個需要的資源,我們對這個帖子的喜歡數量的計數器進行冗余(譯注:即在post的字段中加上likes的計數器,雖然是反范式的但帶來了性能提升)。當一個新的喜歡來到時,這個計數在數據庫中增加,因此,每個對這個計數的讀會變成一個更有效的簡單的select。

另一個在存儲喜歡這個帖子的人的同一個數據庫中進行冗余計數的好處是,更新可以被包含在一個事務中,似的這個更新總是原子的和一致的。雖然在改變前,緩存的計數器可能和數據庫中存儲的不一致,因為超時或重試等等原因。

Memcache租約

在上面來自Justin Bieber的新的帖子的例子中,在這個帖子的最初的幾分鐘,瀏覽和點贊的都會達到峰值。對每一個贊,計數器都從緩存中刪去。非常常見的情況是web服務器都嘗試從緩存中獲取同一個

計數器,但是會有“緩存未***”發生。如果所有的這些web服務器都去數據庫服務器來獲取數據,將會導致驚群問題。

我們使用memcache租約機制來解決這個問題。它像這樣工作:

  • Web服務器發起一個“租約get”請求,不是通常的“get”請求到memcache服務器。
  • Memcache服務器在***時返回***的緩存值。在這種情況下和一個通常的“get”請求沒有區別。
  • 如果memcache服務器找不到對應的key,它在n秒內返回一個“***未***”給這段時間內請求的一個web服務器;這段時間內任何其他的“租約get”請求會得到一個“熱未***”。在“熱未***”的情況下,這個key最近從cache中刪除,它會返回過期的值。如果這個緩存的key在n秒內沒有被挺沖,它再次對一個“租約get”請求返回“***未***”。
  • 當一個web server收到“***未***”時,它進到數據庫中獲取數據并且填充緩存。
  • 當一個web server收到“熱未***”和一個過期的值時,它可以使用這個值。如果它收到一個沒有值的“熱未***”,它可以選擇等待緩存被“***未***”的web server填充。

總之,在以上的實現中,我們可以通過減少訪問數據庫的次數和每次訪問的資源來減少數據庫的負載。

這也提高了我們后端在一些熱計數器調出緩存時的可靠性,這種情形在Instagram的早期并非不常見。每次這種情形發生都會使得工程師趕忙手動修復緩存。在這樣的改變下,這些事故成為了老工程師的回憶。

從10ms延遲到60ms

目前為止,我們主要關注了當緩存變得有區域性之后的緩存一致性。數據中心之間的網絡延遲是另一個影響很多設計的挑戰。數據中心之間,一個60ms的網絡延遲可以導致數據庫復制的問題和web server更新數據庫的問題。我們需要解決以下問題來支持無縫擴展:

PostgreSQL 讀復制落后

當一個Postgres的主節點寫的時候,它生成增量日至。寫請求來的越快,這些日志生成的越頻繁。主節點們為從節點偶爾的需求存儲最近的日志文件,但是它們歸檔所有的日志到存儲中,來保證日志被保存

并且可以被任何需要更早的主節點保留的數據的從節點的訪問。這樣,主節點不會耗盡硬盤空間。

當我們創建一個新的讀復制時,讀復制開始讀主節點的一個快照。一旦完成,它需要應用從這個快照之后發生的日志。當所有的日志都應用之后,它會是***的并且可以持續的同步主節點和服務web服務器的讀請求。

然而,當一個大數據庫的寫比率相當高時,在從節點和存儲設備中會有較多的網絡延遲,有可能日志被讀取的速率比日志創建的速率要慢,這樣從節點將會被落的越來越遠而且永遠都追不上。

我們的解決方案是在讀復制開始從主節點上傳輸基礎快照時就開啟第二個流來傳輸日志并存儲到本地磁盤上,當一個快照結束傳輸時,讀復制可以在本地讀區日志,使得恢復進程更加塊。

這不僅解決了我們在全美的數據庫復制問題,也使建造新的復制的時間減半。現在即使主節點和從節點在同一個區域,操作效率也很大程度的提高了。

總結

Instagram現在在全美運行了多個數據中心,給我們了更彈性的容量規劃和獲取,更高的可靠性,更好的為2012年發生的那樣的自然災害的準備。事實上,我們最近在一個計劃的“災難”中存活。Facebook

規律性地測試它的數據中心,通過在訪問高峰的時候關閉它們。大約一個月前,我們剛剛完成遷移我們的數據到一個新的數據中心,Facebook就運行了一個測試并且關停了這個數據中心。這是一個高風險

的模擬,但是幸運的是我們不被用戶注意到的度過了容量損失。Instagram遷移第二部分成功了!

原文鏈接:dockone.io/article/841

責任編輯:Ophira 來源: dockone
相關推薦

2016-10-26 16:44:44

WatchfinderAWS云計算

2014-09-26 09:23:08

FacebookInstagramAWS

2021-07-26 12:10:37

FacebookMySQL 8.0數據庫

2022-12-12 16:37:31

云遷移云計算IaaS

2010-09-29 11:06:21

活動目錄OpenLDAP

2023-08-31 17:13:01

架構軟件開發

2012-05-21 10:23:36

2013-06-21 13:49:08

MariaDB

2010-07-20 09:48:33

2019-07-31 10:21:15

單體架構微服務

2019-04-10 09:00:23

AWSOracle數據庫

2023-10-24 08:00:00

單體架構微服務

2009-02-06 10:32:00

UnixLinux服務器

2013-05-03 09:49:38

MySQLMariaDB

2011-04-25 09:35:31

TwitterJava

2011-06-24 10:10:35

SVN

2020-07-27 11:35:26

GitHub代碼開發者

2025-10-29 08:06:49

2022-06-06 07:24:09

Caddy開源Ubuntu

2021-11-29 09:44:03

UmiJSVite前端
點贊
收藏

51CTO技術棧公眾號

久久人妻无码aⅴ毛片a片app| 精品视频在线观看一区二区| 黄色av一区二区| 色喇叭免费久久综合网| 日韩精品中文字幕一区二区三区 | 国产探花在线精品一区二区| 欧美日韩精品欧美日韩精品一综合| 在线观看污视频| 亚洲欧美日韩成人在线| 久久福利资源站| 国内久久久精品| 亚洲a∨无码无在线观看| 8x国产一区二区三区精品推荐| 色94色欧美sute亚洲线路一久| 国产精品88久久久久久妇女 | 亚洲伦理网站| 岛国av一区二区在线在线观看| 亚洲自拍的二区三区| 欧美熟妇另类久久久久久不卡| 青青草原综合久久大伊人精品优势| 色综合久综合久久综合久鬼88| 日韩精品无码一区二区三区久久久| 蜜桃精品一区二区三区| 91成人免费在线视频| 99久久久精品视频| 欧美日本一道| 久久精品一区二区三区不卡牛牛| 成人影片在线播放| 国产在成人精品线拍偷自揄拍| 亚洲综合国产激情另类一区| 欧美国产日韩一区二区三区| 国产精品成人69xxx免费视频| 国产一区二区三区不卡视频网站 | 青青色在线视频| 国产xxx精品视频大全| 国产日韩欧美91| 自拍偷拍校园春色| 午夜综合激情| 国内精品久久久久久久久| 九九热最新地址| 四虎成人精品永久免费av九九| 亚洲欧美中文日韩在线| 亚洲熟女乱综合一区二区三区| 日韩一二三区| 91精品免费在线观看| 国产九九热视频| 欧美极品免费| 欧洲亚洲国产日韩| www日韩视频| 在线一区视频观看| 欧美色网站导航| 蜜臀av免费观看| 精品三区视频| 欧美日韩国产免费一区二区| jizz大全欧美jizzcom| 欧美日韩国产色| 欧美精品丝袜久久久中文字幕| 精品人妻一区二区三区四区在线 | 欧美少妇一区二区三区| 日本视频在线免费观看| 中文字幕永久在线不卡| 伊人天天久久大香线蕉av色| 黄色在线论坛| 一区二区三区精品| www.国产在线视频| av成人影院在线| 精品久久久在线观看| 无码人妻精品一区二区三区在线| 免费日韩电影| 欧美三级日本三级少妇99| 青青草久久伊人| 亚洲精品午夜| 日韩精品在线免费| 熟女少妇内射日韩亚洲| 欧美hd在线| 欧美黑人性视频| 在线观看亚洲欧美| 日韩精品成人一区二区三区| 国产日韩换脸av一区在线观看| 国产激情无套内精对白视频| 99r国产精品| 日韩久久久久久久| 国产丝袜在线| 欧美日韩国产限制| 超碰在线公开97| 日韩在线成人| 亚洲精品综合精品自拍| 免费91在线观看| 欧美三区视频| 日韩av电影院| 国产免费高清视频| 97国产精品videossex| 神马欧美一区二区| 亚洲区欧洲区| 色婷婷国产精品久久包臀| 邪恶网站在线观看| 精品福利一区| 日韩资源在线观看| 国产午夜视频在线| 青青草91视频| 国产视频99| 麻豆视频免费在线观看| 五月天国产精品| 岛国毛片在线播放| 人妖一区二区三区| 久久国产精品影片| 日韩在线播放中文字幕| 国产一区欧美二区| 日本精品二区| 182在线播放| 9191久久久久久久久久久| 免费在线观看成年人视频| 91精品国产自产拍在线观看蜜| 91av国产在线| 精品国自产在线观看| 久久精品一区二区三区av| 日韩不卡视频一区二区| 视频一区在线免费看| 亚洲国产精品福利| 黄色片子在线观看| 石原莉奈在线亚洲三区| 国内一区二区三区在线视频| 久草中文在线| 欧美日韩视频在线一区二区| 在线观看国产三级| 欧美精品导航| 91牛牛免费视频| av在线免费播放网站| 午夜精品aaa| avtt中文字幕| 中文字幕亚洲精品乱码| 国产欧美日韩中文字幕| 国产视频网站在线| 一本久久a久久精品亚洲| 国产伦精品一区二区免费| 亚洲综合小说| 91精品久久久久久久久青青| 8888四色奇米在线观看| 在线视频一区二区三区| aa片在线观看视频在线播放| 亚洲黄网站黄| 国产99视频精品免费视频36| 先锋成人av| 欧美一区二区视频网站| 成人一级黄色大片| 麻豆精品新av中文字幕| 无遮挡亚洲一区| 一二区成人影院电影网| 国产一区二区三区在线播放免费观看| 男人天堂2024| 国产无人区一区二区三区| 国产乱子夫妻xx黑人xyx真爽| 欧美91在线| 2020久久国产精品| 国产中文字幕在线看| 色久优优欧美色久优优| 成人国产精品久久久网站| 日本亚洲三级在线| 一卡二卡3卡四卡高清精品视频| 成人在线高清| 久久久97精品| 性欧美videos另类hd| 一区二区成人在线| 97人妻精品一区二区三区免费 | 免费看污黄网站| av在线不卡顿| 国产一区私人高清影院| 男人的天堂在线视频免费观看 | 91亚洲一区二区| 女主播福利一区| 99视频网站| 亚洲欧美电影| 在线观看日韩欧美| 国产免费黄色大片| 精品久久久久久中文字幕一区奶水| 国产又爽又黄无码无遮挡在线观看| 久久精品五月| 自拍偷拍视频在线| 成人高潮a毛片免费观看网站| 68精品国产免费久久久久久婷婷| 欧美91精品久久久久国产性生爱| 欧美性三三影院| 欧美在线视频第一页| 99久久国产综合精品麻豆| 免费看a级黄色片| 日韩中文欧美| 国精产品99永久一区一区| 欧美成人精品三级网站| 久久av中文字幕| 偷拍自拍在线| 3751色影院一区二区三区| 久久精品国产亚洲av香蕉| 国产无人区一区二区三区| 91人妻一区二区三区| 国产精品一页| 9l视频自拍9l视频自拍| 午夜欧洲一区| 91免费视频国产| 视频二区不卡| 久久久女人电视剧免费播放下载| 国产福利在线观看| 精品久久久三级丝袜| 日本三级一区二区三区| 亚洲一级二级三级| 99国产精品免费| proumb性欧美在线观看| 国产精品999.| 久久久久国内| 三上悠亚久久精品| 四虎成人av| 欧洲精品国产| 免费看成人人体视频| 91欧美精品午夜性色福利在线| 中文字幕在线直播| 欧美黄色小视频| 日本高清视频在线播放| 亚洲欧美国产一区二区三区| 亚洲免费黄色片| 欧美精品自拍偷拍动漫精品| 国产亚洲欧美日韩高清| 精品久久久久久久久久国产| 青青青在线免费观看| 国产欧美日本一区二区三区| 不卡一区二区在线观看| 成人国产亚洲欧美成人综合网| www.se五月| 琪琪一区二区三区| 热久久精品国产| 99av国产精品欲麻豆| 男人添女人下部视频免费| 日韩免费特黄一二三区| 欧美一区1区三区3区公司| 卡通动漫国产精品| 成人资源视频网站免费| 日韩一级淫片| aaa级精品久久久国产片| 国产电影一区| 91久久精品久久国产性色也91| 成人性片免费| 国产裸体写真av一区二区 | 高清全集视频免费在线| 在线观看国产欧美| 国产高清在线| 中日韩美女免费视频网址在线观看 | 欧美美女性视频| 三级影片在线观看欧美日韩一区二区 | 国产伦一区二区| 欧美亚一区二区| www.av88| 欧美日韩在线精品一区二区三区激情| 天天干天天干天天| 日韩欧美在线视频免费观看| 四虎精品永久在线| 欧美日韩一区二区免费视频| av黄色在线看| 91精品1区2区| 在线黄色av网站| 欧美久久久久免费| 国产精品一区二区人人爽| 日韩一区二区精品| 亚洲欧美黄色片| 亚洲国产97在线精品一区| 亚洲日本中文字幕在线| 亚洲精品在线视频| 成年人在线视频| 日韩中文字幕在线| 日韩123区| 欧美一区二区三区免费视| 唐人社导航福利精品| 国产精品视频在线观看| 久久gogo国模啪啪裸体| 国产欧美日本在线| 久久爱www成人| 亚洲一区二区免费视频软件合集 | 国产精品x8x8一区二区| 亚洲国产精品一区二区久久| 国产精品裸体一区二区三区| 国产精品亚洲综合在线观看 | 欧美精品制服第一页| 俺来也官网欧美久久精品| 97视频免费在线看| 经典三级一区二区| 成人性教育视频在线观看| 成人另类视频| 欧美在线一区二区三区四区| 色喇叭免费久久综合| 国产免费裸体视频| 久久久xxx| 国产又粗又猛大又黄又爽| 99精品欧美一区二区蜜桃免费| 伊人网伊人影院| 亚洲丝袜美腿综合| 国产成人啪精品午夜在线观看| 欧美视频在线免费| 国产一区二区视频免费观看| 亚洲精品久久久久久久久久久| a黄色在线观看| 欧美精品18videos性欧| 成人天堂yy6080亚洲高清| 91影院在线免费观看视频| 亚洲第一论坛sis| 18视频在线观看娇喘| 久久久久免费| 又色又爽又黄18网站| 欧美国产成人在线| www.天天色| 777欧美精品| 精品美女视频在线观看免费软件| 欧美疯狂性受xxxxx另类| 亚洲电影有码| 精品一区2区三区| 午夜久久久久| 狠狠操狠狠干视频| 91麻豆国产精品久久| 欧美色图一区二区| 欧美亚洲一区二区三区四区| 蜜桃视频污在线观看| www.日韩视频| 日韩在线观看不卡| 国产欧美日韩亚洲| 亚洲国产精品成人| 污网站免费在线| 久久丝袜美腿综合| 日韩久久久久久久久| 日韩欧美一卡二卡| 欧美r级在线| 国产美女直播视频一区| 色综合综合色| 免费在线观看日韩视频| thepron国产精品| 久久久综合久久久| 欧美一区二区在线不卡| 日本最黄一级片免费在线| 日韩美女主播视频| 欧美网色网址| 黄色片网址在线观看| 成人午夜大片免费观看| 国产精品成人免费观看| 欧美高清视频www夜色资源网| 国内在线精品| 国产97在线亚洲| 精品在线99| 日本精品久久久久中文字幕| 久久视频一区二区| 国产成人精品777777| 亚洲视频在线视频| 国产精品久久亚洲不卡| 神马一区二区影院| 美国三级日本三级久久99| 懂色av蜜臀av粉嫩av永久| 欧美日韩和欧美的一区二区| 中文字幕日本在线| 国产日韩一区在线| 欧美好骚综合网| 亚洲18在线看污www麻豆| 亚洲欧美国产77777| 99热这里只有精品在线观看| 欧美精品一本久久男人的天堂| 日韩精品三级| 精品丰满人妻无套内射| 99这里只有精品| 国产成人无码一区二区在线播放| 亚洲图片在线综合| 国产成人亚洲一区二区三区| 伊人久久av导航| 国产宾馆实践打屁股91| 圆产精品久久久久久久久久久| 亚洲精品之草原avav久久| ww久久综合久中文字幕| 国产精品夜夜夜爽张柏芝| 国产风韵犹存在线视精品| 国产精品免费av一区二区| 日韩精品免费在线视频观看| 校园春色亚洲色图| 一区二区三区偷拍| 国产成人av一区| 天天操天天操天天操天天| 最近2019中文免费高清视频观看www99| 成人在线分类| 日韩精品一区在线视频| 久久久三级国产网站| 一区二区三区精彩视频| 久久久视频精品| 免费看成人哺乳视频网站| 8x8x成人免费视频| 亚洲a一区二区| 91精品国产综合久久久久久豆腐| 亚洲自拍小视频免费观看| 亚洲一区日韩| 一起操在线播放| 国产午夜精品麻豆| 国产高清亚洲| 国产l精品国产亚洲区久久| 中文字幕一区视频| 天堂在线观看免费视频| 国产日韩亚洲欧美| 国产欧美一区二区三区国产幕精品| 国产精品麻豆一区| 亚洲国产中文字幕在线观看| 精品美女一区|