摘要:曲先生指出,隨著近期的產(chǎn)品功能增多,正在越來越滿足更廣泛的應用需求對添加區(qū)域分片使得能夠為需要跨多個數(shù)據(jù)中心提供分布式永久寫入可用性的應用程序提供服務。
作為世界前十十個全球零售品牌,擁有1.7億活躍買家和10億在線市場,eBay無法承受系統(tǒng)停機帶來的損失。 這就是為什么公司依靠MongoDB作為其核心企業(yè)數(shù)據(jù)平臺標準之一,為運行ebay.com的多個面向客戶的應用程序提供支持。
在今年的MongoDB全球大會上,eBay的首席NoSQL DBA 曲峰 提供了彈性應用程序的實用設計模式 --- 他的團隊開發(fā)的一套支持企業(yè)級MongoDB部署的架構藍圖。
曲先生開始討論多年來可用性概念的變化。 過去,網(wǎng)站可以接受每周維護的預定停機時間。 隨著當前服務的全球化,用戶或業(yè)務都不會接受如此頻繁的停機! 此外,大多數(shù)公司現(xiàn)在在商業(yè)硬件平臺上構建其服務,而不是以前的 Sun Solaris / Sparc服務器。 雖然商業(yè)硬件的成本要低得多,但是它也經(jīng)常故障。 這兩個因素從根本上改變了工程團隊如何考慮可用性,并且引導eBay創(chuàng)建其“彈性設計模式”,以建立最大化平均故障時間(Mean Time To Failure,MTTF)并最大限度地減少平均恢復時間(Mean Time To Recovery,MTTR)的數(shù)據(jù)庫最佳實踐。
為了構建應用程序,eBay開發(fā)人員可以從五個公認的數(shù)據(jù)庫標準中進行選擇。 除了MongoDB,團隊還可以選擇使用Oracle或MySQL關系數(shù)據(jù)庫和兩個NoSQL數(shù)據(jù)庫。 曲先生的DBA團隊為適當?shù)臄?shù)據(jù)庫選擇提供指導,根據(jù)應用程序的數(shù)據(jù)訪問模式,用戶負載,數(shù)據(jù)類型等進行選擇。
eBay目前運行超過3,000個非關系型數(shù)據(jù)庫實例,為一系列應用程序提供支持,可在其間管理數(shù)PB數(shù)據(jù)。 在過去,Oracle是“記錄系統(tǒng)”,而非關系型數(shù)據(jù)庫則處理“參與系統(tǒng)”中使用的臨時數(shù)據(jù)。 然而,非關系型數(shù)據(jù)庫環(huán)境已經(jīng)成熟。 通過一致的時間點備份和恢復,MongoDB現(xiàn)在也在eBay上服務于記錄系統(tǒng)的用例。
雖然eBay的所有非關系數(shù)據(jù)庫選擇都提供了內(nèi)置的故障恢復能力,但它們可以使不同的設計影響應用程序的行為。 DBA團隊在六個維度上評估這些差異:可用性、一致性、持久性、可恢復性、可擴展性和性能。例如,使用點對點、無主設計的NoSQL數(shù)據(jù)庫具有昂貴的數(shù)據(jù)修復和重新平衡過程,必須在節(jié)點發(fā)生故障之后啟動。此重新平衡過程會影響應用程序吞吐量和延遲,并可能導致連接堆疊,因為客戶端等待恢復,這可能導致應用程序停機。為了減輕這些影響,eBay不得不將最初在Oracle上開發(fā)的應用級產(chǎn)品分層在這些無數(shù)據(jù)庫之上。這種方法使DBA團隊能夠?qū)⒏蟮募悍殖梢幌盗凶蛹海瑥亩鴮⒅匦缕胶忾_銷與較小的一組節(jié)點隔離開來,同時只影響了一小部分查詢。 eBay DBA團隊構建其彈性設計模式是針對這些不同類型的數(shù)據(jù)庫行為。
曲先生介紹了eBay的“MongoDB彈性設計模式”,如圖1所示。
圖1:MongoDB恢復架構的eBay設計模式。 (圖片由eBay的MongoDB世界大會演示提供)。
在這種設計模式中,一個7節(jié)點的MongoDB副本集遍布eBay的三個美國數(shù)據(jù)中心。 此模式可確保在主數(shù)據(jù)中心發(fā)生故障的情況下,數(shù)據(jù)庫集群可以通過在剩余的數(shù)據(jù)中心之間建立一個仲裁來保持可用性。 MongoDB的副本集成員可以被分配選舉優(yōu)先級,以控制哪些Slave成員被認為是在Primary成員失敗時的晉升候選人。 例如,如果副本集Primary成員失敗,則DC1本地的節(jié)點將被優(yōu)先選擇。 只有整個DC1遭受中斷,DC2中的復制集成員才會被認為可以進行選舉,根據(jù)哪個節(jié)點已經(jīng)執(zhí)行最近的寫操作選擇新的Primary成員。 可以通過使用MongoDB的 majority write concern來擴展這種設計模式,以使得能夠跨數(shù)據(jù)中心持久的寫入。
標準MongoDB設計模式被用作eBay的“閱讀強化/高可用讀取模式”的基礎,該演示文稿用于為eBay產(chǎn)品目錄提供支持。 對于目錄負載,MongoDB副本集可以擴展到50個成員,為大并發(fā)量的數(shù)據(jù)分發(fā)提供了讀取的可擴展性和恢復能力。
對于更多的寫入密集型負載,eBay開發(fā)出了“極高讀/寫模式”,該模式在其美國數(shù)據(jù)中心部署了一個分布式的MongoDB集群。
圖2:MongoDB極高讀/寫模式的eBay設計模式。 (圖片由eBay的MongoDB世界演示提供)。
其次,eBay開發(fā)人員可以使用特定的MongoDB寫入和讀取配置來設計模式,以調(diào)整最佳滿足不同應用需求的持久性和一致性級別。
曲先生指出,隨著近期的產(chǎn)品功能增多,MongoDB正在越來越滿足更廣泛的應用需求:
對MongoDB 3.4添加區(qū)域分片使得eBay能夠為需要跨多個數(shù)據(jù)中心提供分布式、永久寫入可用性的應用程序提供服務。
針對即將發(fā)布的MongoDB 3.6版本的可重寫的寫入將允許eBay減少應用程序異常處理代碼。
回顧曲峰在MongoDB World的演講,了解有關eBay設計模式的更多信息。
下載MongoDB多數(shù)據(jù)中心部署指南,深入了解使用MongoDB啟用主/主數(shù)據(jù)中心部署和全局數(shù)據(jù)分發(fā)。
本文翻譯自:https://www.mongodb.com/blog/post/ebay-building-mission-critical-multi-data-center-applications-with-mongodb
我是上海小胖[MiracleYoung],專注MongoDB、MySQL、Redis等開源數(shù)據(jù)庫的 DevOps,擁抱開源,接受收費。
上海小胖[MiracleYoung] 原創(chuàng)地址: https://segmentfault.com/u/shanghaixiaopang/articles
歡迎各位大神前來評論。
每周五,敬請期待,上海小胖[MiracleYoung] 獨更。
如果夏雨荷還在大明湖畔等著我的話,我就不更了。
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/17617.html
摘要:曲先生指出,隨著近期的產(chǎn)品功能增多,正在越來越滿足更廣泛的應用需求對添加區(qū)域分片使得能夠為需要跨多個數(shù)據(jù)中心提供分布式永久寫入可用性的應用程序提供服務。 作為世界前十十個全球零售品牌,擁有1.7億活躍買家和10億在線市場,eBay無法承受系統(tǒng)停機帶來的損失。 這就是為什么公司依靠MongoDB作為其核心企業(yè)數(shù)據(jù)平臺標準之一,為運行ebay.com的多個面向客戶的應用程序提供支持。 在今...
摘要:今天,宣布已經(jīng)開發(fā)自己的定制服務器,并將在年底前開放硬件設計。于年月開始進行重塑計劃,該計劃旨在構建自己的硬件和人工智能引擎,使其數(shù)據(jù)中心集群去中心化,并轉(zhuǎn)向可以更好地利用開源技術的邊緣計算架構。在其為期兩年的IT基礎設施改造工作中, eBay近日取得了一個重要的里程碑。今天,eBay宣布已經(jīng)開發(fā)自己的定制服務器,并將在年底前開放硬件設計。eBay于2016年7月開始進行重塑計劃,該計劃旨在...
摘要:因此,當公司上市之后,該公司認為這是一項重大的任務。公司是全球領先的智能手表品牌之一,由于市場競爭日益激烈,導致該公司的經(jīng)營逐漸陷入困境。云計算技術并不適用于所有公司,但越來越多的公司意識到云計算可以幫助他們發(fā)展業(yè)務,并實現(xiàn)目標。以下是成功實施云計算的6家大公司。1.通用電氣通用電氣(GE)于2014年開始進行數(shù)字化轉(zhuǎn)型,但在三年之后,通用電氣選擇亞馬遜網(wǎng)絡服務(AWS)作為其首選的云計算提...
閱讀 2044·2023-04-25 15:24
閱讀 1584·2019-08-30 12:55
閱讀 1621·2019-08-29 15:27
閱讀 476·2019-08-26 17:04
閱讀 2412·2019-08-26 10:59
閱讀 1806·2019-08-26 10:44
閱讀 2206·2019-08-22 16:15
閱讀 2594·2019-08-22 15:36