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