作者:上海小胖
作為世界前十十個(gè)全球零售品牌,擁有1.7億活躍買(mǎi)家和10億在線(xiàn)市場(chǎng),eBay無(wú)法承受系統(tǒng)停機(jī)帶來(lái)的損失。這就是為什么公司依靠MongoDB作為其核心企業(yè)數(shù)據(jù)平臺(tái)標(biāo)準(zhǔn)之一,為運(yùn)行ebay.com的多個(gè)面向客戶(hù)的應(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ù)的全球化,用戶(hù)或業(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)模式、用戶(hù)負(fù)載、數(shù)據(jù)類(lèi)型等進(jìn)行選擇。
eBay目前運(yùn)行超過(guò)3000個(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)榭蛻?hù)端等待恢復(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)銷(xiāo)與較小的一組節(jié)點(diǎn)隔離開(kāi)來(lái),同時(shí)只影響了一小部分查詢(xún)。eBay DBA團(tuán)隊(duì)構(gòu)建其彈性設(shè)計(jì)模式是針對(duì)這些不同類(lèi)型的數(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)整最佳滿(mǎn)足不同應(yīng)用需求的持久性和一致性級(jí)別。
曲先生指出,隨著近期的產(chǎn)品功能增多,MongoDB正在越來(lái)越滿(mǎn)足更廣泛的應(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)用程序異常處理代碼。- 蜜度索驥:以跨模態(tài)檢索技術(shù)助力“企宣”向上生長(zhǎng)
- 長(zhǎng)江存儲(chǔ)發(fā)布聲明:從無(wú)“借殼上市”意愿
- 泛微·數(shù)智大腦Xiaoe.AI正式發(fā)布,千人現(xiàn)場(chǎng)體驗(yàn)數(shù)智化運(yùn)營(yíng)場(chǎng)景
- IDC:2024年第三季度北美IT分銷(xiāo)商收入增長(zhǎng)至202億美元
- AI成為雙刃劍!凱捷調(diào)查:97%組織遭遇過(guò)GenAI漏洞攻擊
- openEuler開(kāi)源五年樹(shù)立新里程碑,累計(jì)裝機(jī)量突破1000萬(wàn)
- 創(chuàng)想 華彩新程!2024柯尼卡美能達(dá)媒體溝通會(huì)煥新增長(zhǎng)之道
- 操作系統(tǒng)大會(huì)2024即將在京召開(kāi),見(jiàn)證openEuler發(fā)展新里程
- Gartner:AI引領(lǐng)歐洲IT支出激增,2025年將支出1.28萬(wàn)億美元
- IDC:中國(guó)數(shù)字化轉(zhuǎn)型支出五年復(fù)合增長(zhǎng)率約為15.6% 高于全球整體增速
- 2028年中國(guó)數(shù)字化轉(zhuǎn)型總體市場(chǎng)規(guī)模將超7300億美元
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。