eBay 的Scalability最佳实践

本文探讨了eBay实现大规模可扩展性的七个实战经验,包括水平切分、避免分布式事务、虚拟化所有层次及缓存策略等内容。这些实践对数据库架构师来说极具价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原贴:
eBay 的Scalability最佳实践

用什么来衡量一天没有白过? 可能看到一篇好文章能算做一个条件。infoQ 上的这篇 Scalability Best Practices: Lessons from eBay 会让每个架构师都比较激动的。

过几天估计 infoQ 中文站就翻译这篇文章了,所以只记录一点自己的想法好了。在其中的 7 个实战经验中,每一条都值得写篇学习笔记,我比较关注面向 DB 的几条。

水平切分

对于 eBay 这样个头的大 Web 应用,如果数据不能分片,就无从谈及扩展。这个话题我之前描述过一点,文章中提及数据库层的切片要比应用层复杂许多,我想其中最大的一个难点就是不同用户之间的关联数据问题吧,否则就完全可以根据用户范围或者群体划分到不同的 DB 上。现实的应用总是如此复杂,让每个架构师都早生华发啊。

避免分布式事务

其中提到的前 Inktomi 工程师 Eric Brewer 提出的 CAP 定理: Consistency (C), Availability (A), Partition-tolerance (P) ,最多能同时选择两个。三个不能同时实现。对于 eBay ,选择的是 A 和 P,牺牲了一致性,而通过系统的其它手段(比如事件系统)来追回事务的完整程度。BTW: 这次倒是没有提及 BASE :)

虚拟化所有层次

这样做的目的是为了达到编程上的方便以及运营操作的灵活性。通过 eBay 的 O/R 层实现了对数据库的虚拟化。这样应用程序开发者无需关注数据存在哪里的。

Cache

其中提到了 Cache 的应用场景:针对缓慢改变的数据、只读为主的数据、元数据、配置信息和静态数据等。 把握这个原则是很关键的。我个人就看到有病急乱投医的设计者把数据一股脑的扔进 Cache,潜在的麻烦很难消除。

强烈推荐大家直接点过去看一下该文。

补充:关于 BASE。
Basically Availble
Soft-state
Eventual Consistency

ACID_BASE.png


--EOF--

| | TrackBacks (0) | | Edit

Generator | Trampoline
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascr<script language="javascript1.1" src="http://pagead2.googlesyndication.com/cpa/ads?client=ca-pub-2198040673582211&amp;cpa_choice=caaqhat2_geaci52gvkp95-sklgsuiebmaa&amp;oe=utf-8&amp;dt=1212119646843&amp;lmt=1212119823&amp;format=ref_text&amp;output=textlink&amp;correlator=1212119646828&amp;url=http%3a%2f%2fwww.dbanotes.net%2farch%2febay_scalability.html&amp;region=_google_cpa_region_&amp;ref=http%3a%2f%2fwww.dbanotes.net%2f&amp;frm=0&amp;ff=tahoma&amp;cc=100&amp;ga_vid=4322851505867868700.1212119647&amp;ga_sid=1212119647&amp;ga_hid=1628138492&amp;flash=9.0.115.0&amp;u_h=1024&amp;u_w=1280&amp;u_ah=874&amp;u_aw=1280&amp;u_cd=32&amp;u_tz=480&amp;u_java=true" type="text/javascript"></script>type="text/javascript"> Get Firefox with Google Toolbar for better browsing
Generate revenue from your website. Google AdSense.

自定义搜索

添加评论

直接 匿名评论 或者 登录 评论这篇文章(OpenID、TypeKey...)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值