成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Instagram在如何越洋擴展基礎設施?

譯文
網絡 通信技術
2015年,Instagram將基礎設施從一個數據中心擴展到了三個,從三個數據中心擴展到五個很輕松;我們只是增加了復制因子,將數據復制到新的區域;然而當下一個數據中心遠在另一個大陸時,擴展起來會更難。

【51CTO.com快譯】2014年,Instagram加入Facebook兩年后,Instagram的工程團隊該將公司的基礎設施從亞馬遜網絡服務(AWS)服務器遷移到了Facebook的數據中心。Facebook在歐美有多個數據中心,但直到最近Instagram才使用美國的數據中心。

[[247768]]

Instagram想把基礎設施擴展到大洋彼岸的主要原因是,我們在美國已沒場地可用。隨著服務不斷增多,Instagram已到了我們需要考慮利用Facebook建在歐洲的數據中心的地步。另一個好處是:本地數據中心意味著對歐洲用戶來說延遲更低,這有望在Instagram上打造更好的用戶體驗。

2015年,Instagram將基礎設施從一個數據中心擴展到了三個,以提供急需的彈性:我們的工程團隊不想重蹈2012年AWS災難的覆轍,當時弗吉尼亞州的一場大風暴導致其近一半的實例癱瘓。從三個數據中心擴展到五個很輕松;我們只是增加了復制因子,將數據復制到新的區域;然而當下一個數據中心遠在另一個大陸時,擴展起來會更難。

了解基礎設施

基礎設施通??煞譃閮煞N類型:

  • 無狀態服務通常用作計算,根據用戶流量進行擴展(按需擴展)。Django Web服務器就是個例子。
  • 有狀態服務通常用作存儲,必須在數據中心之間保持一致性。比如包括Cassandra和TAO。

每個人都喜歡無狀態服務,它們易于部署和擴展,可以隨時隨地根據需要來啟動。事實上,我們還需要像Cassandra這樣的有狀態服務來存儲用戶數據。運行帶有太多副本的Cassandra不僅增加了維護數據庫的復雜性,還浪費了容量,更不用說越洋傳輸仲裁(quorum)請求有多慢了。

Instagram還使用TAO(面向社交圖的分布式數據存儲)作為數據存儲系統。我們將TAO作為每個分片(shard)的單個主系統(master)來運行,沒有任何從屬系統(slave)為任何寫入請求更新分片。它將所有寫入內容轉發到分片的主區域。由于所有寫入都在位于美國的主區域進行,所以歐洲那邊的寫入延遲無法忍受。你可能注意到我們的問題反饋基本上是光速。

潛在解決方案

我們能否縮短請求越洋傳輸的時間(甚至使往返傳輸消失)?有兩種方法可以解決這個問題。

1. 對Cassandra分區

為了防止仲裁請求越洋傳輸,我們在考慮將數據集分為兩部分:Cassandra_EU和Cassandra_US。如果歐洲用戶的數據存儲在Cassandra_EU分區中,美國用戶的數據存儲在Cassandra_US分區中,用戶的請求就不必遠距離傳輸來獲取數據。

比如說,假設美國有五個數據中心,歐盟有三個數據中心。如果我們通過復制當前集群而在歐洲部署Cassandra,復制因子將是8,仲裁請求必須與8個副本中的5個進行聯系。

但是如果我們可以找到將數據分成兩組的方法,就會有一個復制因子是5的Cassandra_US分區和一個復制因子是3的Cassandra_EU分區,每個分區可獨立運行,而不影響其他分區。與此同時,每個分區的仲裁請求能夠保持在同一個大陸,因而解決往返傳輸的延遲問題。

2. TAO僅限于寫入到本地

為了縮短TAO寫入的延遲,我們可以將所有EU寫入限制于本地區域。這在最終用戶看來幾乎一樣。我們向TAO發送寫入時,TAO將在本地更新,不會阻止同步向主數據庫發送寫入;相反,它會在本地區域將寫入放到隊列中。在寫入的本地區域,數據可立即從TAO獲取,而在其他區域,數據將在從本地區域傳播后可用。這類似今天的常規寫入,數據從主區域傳播。

雖然不同的服務可能會有不同的瓶頸,但如果致力于減少或消除越洋流量這個想法,我們能逐一解決問題。

經驗教訓

與每個基礎設施項目一樣,我們在此過程中汲取了一些重要的經驗教訓。以下是幾個主要的。

  • 別急著搞新項目。開始在新數據中心配置服務器之前,確保你了解為什么需要在新區域部署服務、有什么樣的依賴關系以及新區域投入使用時系統會如何運行。此外,別忘了反思災難恢復計劃,并進行必要的改動。
  • 別低估復雜性。總是在你的日程安排中留出足夠的時間,因為要犯錯誤,要找出意外的阻礙因素,要學習你不了解的新的依賴關系。你可能發現自己無意中在重新設計構建基礎設施的方式。
  • 明白取舍。成功總是要付出代價。我們對Cassandra數據庫進行分區后,通過縮小復制因子,節省了大量存儲空間。然而為了確保每個分區仍然準備好面對災難,我們需要更多的前端Django容量,以接受來自故障區域的流量,因為現在分區無法彼此共享容量了。
  • 耐心一點。在開啟歐洲數據中心的過程中,我不記得有多少次我們說過“哦,見鬼!”但事情總是最終得到了解決。可能比你預期的要更久,但要有耐心,整個團隊要通力合作,這是超有意思的過程。

原文標題:How Instagram is scaling its infrastructure across the ocean,作者:Sherry Xiao

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

責任編輯:趙寧寧 來源: 51CTO.com
相關推薦

2010-10-19 14:55:55

惠普融合基礎架構

2023-06-16 15:53:55

DevOps基礎設施

2024-03-29 14:25:44

云計算人工智能

2015-05-27 09:03:46

IT基礎設施IT基礎設施監控

2020-05-28 10:34:43

超融合基礎設施HCI服務器

2024-09-30 11:29:07

2022-02-10 11:54:34

即時基礎設施基礎設施數字化轉型

2020-04-28 10:21:58

基礎設施硬件遠程工作

2009-12-22 13:59:59

惠普基礎設施運營

2009-12-18 17:14:25

惠普基礎架構

2023-07-17 18:43:26

測試基礎設施開發

2022-05-19 19:14:30

數據中心縱向擴展橫向擴展

2023-05-23 15:10:57

智慧城市IT物聯網

2013-11-29 10:34:55

SDN網絡基礎設施

2015-03-18 14:30:09

2019-09-27 15:48:32

網絡5G無線基礎設施

2021-01-28 10:28:33

云計算基礎設施自動化IT

2023-01-13 16:21:38

物聯網

2013-11-28 09:24:57

SDN傳統網絡

2023-08-04 16:32:18

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 美日韩中文字幕 | 欧美一区二区三区四区视频 | 99亚洲精品| 国产精品美女久久久久久免费 | 亚洲欧美激情四射 | 99精品在线观看 | 成人小视频在线观看 | 亚洲精品第一国产综合野 | 欧美日韩不卡合集视频 | 秋霞a级毛片在线看 | 成人黄页在线观看 | 天天影视亚洲综合网 | 国产精品美女久久久久久不卡 | 999国产视频| 精品一二区 | 成人欧美一区二区三区在线播放 | 午夜在线电影网 | 中文字幕 在线观看 | 日韩成人免费中文字幕 | 成人精品福利 | 亚洲日日操 | 男人av网 | 欧美精品在线免费观看 | 91中文字幕在线 | 精品视频一区二区三区 | 国产一区二区三区日韩 | 成人欧美一区二区三区在线观看 | 天天综合网永久 | 黄色一级大片在线免费看产 | 一区二区激情 | 亚洲狠狠爱| 国产一区二区精品在线 | 国产美女在线观看 | 亚洲高清视频在线观看 | 国产精品久久久久一区二区 | 国产精品久久久久一区二区三区 | 国产精品福利在线 | 亚洲日本成人 | 国产精品伦理一区二区三区 | 亚洲精品一区二区三区在线 | 亚洲欧洲成人av每日更新 |