eBay为什么选择MongoDB,在弹性应用程序设计上

作者:亚搏app官网    发布时间:2020-02-09 12:43    浏览:195 次

[返回]

翻译介绍

东京小胖,中华夏儿女民共和国第十陆个人MONGODB PROFESSIONAL获得者,资深Python开荒、DBA。DevOps实践者,曾独立开荒Web服务平台,电子商务爬虫系统、运转管理种类,饱含数据热力图、大旨数据监察和控制、服务器监察和控制体系等。个人博客:。

图片 1

用作世界前十13个全世界零售品牌,具备1.7亿活蹦乱跳买家和10亿在线商场,eBay不或然担当系统停机带给的损失。那就是为何集团依附MongoDB作为其主导公司数量平台规范之风华正茂,为运维ebay.com的多个面向客商的应用程序提供支撑。

用作世界前十十当中外零售品牌,具备1.7亿活泼买家和10亿在线集镇,eBay不也许承担系统停机带给的损失。那正是干什么公司依附MongoDB作为其主干公司数据平台正式之风度翩翩,为运营ebay.com的多个面向顾客的应用程序提供匡助。

在当年的MongoDB全球大会上,eBay的上位NoSQL DBA曲峰提供了弹性应用程序的实用设计形式 他的团协会开荒的大器晚成套协理公司级MongoDB安顿的布局蓝图。

在今年的MongoDB全世界大会上,eBay的上位NoSQL DBA曲峰提供了弹性应用程序的实用设计情势 — 他的集团开垦的后生可畏套援助公司级MongoDB计划的构造蓝图。

曲先生起来探究多年来可用性概念的改造。过去,网址能够选择每一周维护的预定停机时间。随着当前服务的全球化,客户或职业都不会选择那样频繁的停机!别的,大超多商厦后天在生意硬件平台上塑造其劳动,实际不是原先的 Sun Solaris / Sparc服务器。即使商业硬件的基金要低得多,但是它也时临时故障。

曲先生开端钻探多年来可用性概念的更动。过去,网址能够担当每周维护的预定停机时间。随着当前劳动的全世界化,客商或作业都不会肩负那样屡屡的停机!其余,大多数杂货店今后在商贸硬件平台上创设其服务,并非先前的 Sun Solaris / Sparc服务器。纵然商业硬件的工本要低得多,不过它也日常故障。

那七个要素从根本上更动了工程团队怎么样思谋可用性,而且带领eBay创制其“弹性设计情势”,以创设最大化平均故障时间并最大限度地回降平均苏醒时间的数据库最好实施。

那七个要素从根本上改造了工程团队怎样酌量可用性,而且辅导eBay创造其“弹性设计方式”,以树立最大化平均故障时间(Mean Time To Failure,MTTF卡塔尔国并最大限度地压缩平均复苏时间(Mean Time To Recovery,MTTCR-V卡塔尔(قطر‎的数据库最好推行。

为了塑造应用程序,eBay开垦人士能够从多少个公认的数据库标准中展开分选。 除了MongoDB,团队还足以挑选使用Oracle或MySQL关周密据库和四个NoSQL数据库。 曲先生的DBA团队为适龄的数据库选用提供指引,依据望用程序的数目访谈方式、客户负载、数据类型等开展分选。

为了创设应用程序,eBay开拓职员能够从七个公众认为的数据库标准中张开抉择。 除了MongoDB,团队还是可以够采取采纳Oracle或MySQL关周详据库和五个NoSQL数据库。 曲先生的DBA团队为方便的数据库接受提供指点,依关照用程序的多寡访谈形式、顾客负载、数据类型等进行抉择。

eBay近来运维超越3000个非关系型数据库实例,为风流倜傥层层应用程序提供支撑,可在此中管理数PB数据。 在过去,Oracle是“记录系统”,而非关系型数据库则管理“参加系统”中使用的一时数据。 可是,非关系型数据库情形已经成熟。通过生机勃勃致的小运点备份和回复,MongoDB今后也在eBay上服务于记录系统的用例。

eBay近期运营超过3000个非关系型数据库实例,为风姿罗曼蒂克雨后苦笋应用程序提供支撑,可在内处数PB数据。 在过去,Oracle是“记录系统”,而非关系型数据库则管理“参预系统”中央银行使的偶然数据。 然则,非关系型数据库碰到已经成熟。通过平等的岁月点备份和卷土而来,MongoDB以往也在eBay上劳动于记录系统的用例。

固然如此eBay的有所非关周全据库选拔都提供了内置的故障恢复生机技术,但它们得以使不一致的统筹影响应用程序的一举一动。DBA团队在两个维度上评估这个差异:可用性、风姿浪漫致性、悠久性、可复苏性、可扩大性和属性。例如,使用点对点、无主设计的NoSQL数据库具有昂贵的数量修复和重新平衡进程,必得在节点爆发故障之后运营。此重新平衡进程会耳闻则诵应用程序吞吐量和延缓,并恐怕导致接连几天积聚,因为顾客端等待恢复生机,这有可能产生应用程序停机。为了减轻那么些影响,eBay不能不将早先时期在Oracle上付出的应用级付加物分段在这里些洋洋据库之上。这种方式使DBA团队能够将更加大的集群分成大器晚成种类子集群,从而将再一次平衡花费与超级小的少年老成组节点隔离开来,同期只影响了一小部分查询。eBay DBA团队营造其弹性设计方式是指向性这几个不一致类型的数据库行为。

尽管eBay的全部非关周密据库接收都提供了安置的故障复苏手艺,但它们得以使分裂的陈设性影响应用程序的一言一动。DBA共青团和少先队在两个维度上评估那些差异:可用性、生机勃勃致性、持久性、可复苏性、可扩张性和属性。比方,使用点对点、无主设计的NoSQL数据库具有高昂的数码修复和另行平衡进度,必须在节点发生故障之后运行。此重新平衡进度会默化潜移应用程序吞吐量和延期,并恐怕招致接连几日聚成堆,因为客户端等待回复,那说不佳产生应用程序停机。为了减轻这个影响,eBay必须要将先前时代在Oracle上支付的应用级产物分段在这里些洋洋据库之上。这种方法使DBA团队可以将更加大的集群分成生机勃勃种类子集群,进而将再度平衡开支与非常小的大器晚成组节点隔开分离开来,同期只影响了一小部分查询。eBay DBA团队营造其弹性设计形式是指向性这一个不一致档案的次序的数据库行为。

曲先生介绍了eBay的“MongoDB弹性设计情势”,如图1所示。

曲先生介绍了eBay的“MongoDB弹性设计方式”,如图1所示。

图1:MongoDB恢复构造的eBay设计情势

图片 2

在这里种设计方式中,七个7节点的MongoDB副本集分布eBay的多个美利坚联邦合众国多少主导。此情势可确定保障在主数据中央发出故障的情事下,数据库集群能够通过在剩下的多少基本之间建设构造二个核定来维持可用性。MongoDB的别本集成员能够被分配公投优先级,以调控什么Slave成员被以为是在Primary成员失利时的进步候选人。举例,就算别本集Primary成员退步,则DC1当地的节点将被事情未发生前挑选。独有一切DC1受到中断,DC第22中学的复制集成员才会被认为能够拓展大选,依据哪个节点已经试行近些日子的写操作采纳新的Primary成员。 能够经过行使MongoDB的 majority write concern来增添这种设计形式,以使得能够跨数据基本漫长的写入。

图1:MongoDB恢复生机布局的eBay设计格局(图片由eBay的MongoDB世界大会演示提供State of Qatar

标准MongoDB设计格局被用作eBay的“阅读加强/高可用读取格局”的底蕴,该演示文稿用于为eBay产物目录提供帮忙。对于目录负载,MongoDB别本集能够扩张到肆21个成员,为大并发量的多少分发提供了读取的可扩张性和还原技艺。

在此种设计方式中,七个7节点的MongoDB别本集布满eBay的四个美利坚联邦合众国数量主导。此模式可保障在主数据大旨发出故障的情事下,数据库集群能够透过在剩下的多少基本之间确立三个核定来保险可用性。MongoDB的别本集成员能够被分配选举优先级,以决定什么Slave成员被以为是在Primary成员失败时的晋升候选人。比方,假若别本集Primary成员失利,则DC1本土的节点将被事情发生前选项。独有全数DC1遭到中断,DC第22中学的复制集成员才会被感觉能够开展大选,依照哪个节点已经施行近些日子的写操作采纳新的Primary成员。 能够由此接受MongoDB的 majority write concern来扩展这种设计方式,以使得可以跨数据主导漫长的写入。

对此越多的写入密集型负载,eBay开荒出了“非常高读/写格局”,该方式在其U.S.A.数码主题配备了四个布满式的MongoDB集群。

标准MongoDB设计方式被用作eBay的“阅读深化/高可用读取情势”的底子,该演示文稿用于为eBay产物目录提供支撑。对于目录负载,MongoDB别本集可以扩展到47个成员,为大并发量的多寡分发提供了读取的可扩大性和苏醒手艺。

图2:MongoDB极高读/写格局的eBay设计方式

对此越多的写入密集型负载,eBay开拓出了“相当的高读/写模式”,该形式在其花旗国数码基本布局了叁个遍及式的MongoDB集群。

附带,eBay开采职员能够利用一定的MongoDB写入和读取配置来设计情势,以调解最棒满足不相同应用须求的悠久性和生龙活虎致性品级。

图片 3

曲先生提出,随着近些日子的产物效果扩展,MongoDB正在越来越知足更何奇之有的利用必要:

图2:MongoDB非常高读/写形式的eBay设计情势(图片由eBay的MongoDB世界演示提供卡塔尔国

对MongoDB 3.4增添区域分片使得eBay可认为需求跨四个数据主题提供遍及式、永恒写入可用性的应用程序提供劳务。针对将在宣布的MongoDB 3.6本子的可重写的写入将允许eBay收缩应用程序万分管理代码。

说不上,eBay开辟职员能够运用一定的MongoDB写入和读取配置来设计形式,以调治最好满意区别采纳须要的长久性和大器晚成致性等级。

最早的作品来自Wechat大伙儿号:DBAplus社会群众体育

曲先生提议,随着这两日的出品效用增添,MongoDB正在进一层满足更遍布的行使供给:

  • 对MongoDB 3.4增添区域分片使得eBay能够为急需跨五个数据主导提供分布式、永远写入可用性的应用程序提供服务。
  • 本着将要揭橥的MongoDB 3.6本子的可重写的写入将允许eBay收缩应用程序卓殊管理代码。 

【编辑推荐】

搜索