eBay Architecture Series
文章平均质量分 94
arrow_pig
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
eBay Architecture(1)--Introduction to Randy Shoup
上个礼拜,我们有幸见到了传说中的Randy Shoup,eBay Distinguished Architect。我以前只在电话里面听到过这位牛人,Randy是一个思路非常清晰,说话很有条理。这次他来CDC给我们做了好几个培训,我都参加了。其中有两讲让我觉得很有收获的,一个是Randy从一个Architect的角度给我们过了一遍eBay的整个架构,另外一个是Randy用一个实际的项目给我翻译 2010-03-09 11:34:00 · 976 阅读 · 0 评论 -
eBay Architecture(9)–Automate Everything
<br />IT系统也不是刺绣,手工制作的才值钱。工程师是很贵的,自动化系统不容易出错,方便维护,所以能够自动化最好了,最好是自适应的自动化系统,目标函数是利润最大化!Prefer Adaptive/Automated Systems to Manual SystemsMotivations<br />如果看了我前面的BLOG就这到这个方法论了,从架构师关心的5个方面来分析问题: ScalabilityCan scale with machines, not humanAvailability / La原创 2011-01-07 16:20:00 · 747 阅读 · 0 评论 -
eBay Architecture(8)–Async Everywhere
Prefer Asynchronous Processing Move as much processing as possible to asynchronous flows.Where possible,integrate disparate components asychronously.<br />为什么要这么做呢,同样的,我们从Architect考虑的5个方面来考察:Motivations<br />使用异步方式以后,就把参与异步处理的几个模块解耦了,假设模块A和模块B是通过Queue或者Mes翻译 2011-01-07 16:18:00 · 770 阅读 · 0 评论 -
eBay Architecture(7)–Partition Everything[Search Engine]
<br />我所在的就是search group。听Randy讲这一段的时候还是理解的不错的。同样的,从功能切分和横向扩展两个方面来谈Search Engine的Partition。Functional Segmentation<br />Search是个read only的操作,所以search这一块是从transaction databases中独立出来的。<br />Read-only search function decoupled from write-intensive transacti翻译 2011-01-07 16:13:00 · 663 阅读 · 0 评论 -
eBay Architecture(5)–Partition Everything[Database]
<br />Randy引用了Eric的一句话,"If you can’t split it, you can’t scale it"。在这里Partition和Split是一个意思,就是把一个大家伙切分成便于管理的小家伙。如果我们做一个项目,里面有一个模块无法Partition,这就意味着一个风险:因为这个模块没有办法Partition,也就是说所有要和该模块打交道的应用都汇聚于一点,如果这个点崩溃了,整个系统就垮了。我们这里所讨论的是系统的横向扩展。如果你没有办法Split,那load高了以后,我们就翻译 2011-01-07 16:07:00 · 894 阅读 · 0 评论 -
eBay Architecture(6)–Partition Everything[Application Tier]
<br />授之以鱼不如授之以渔,在分析应用层的时候,还是使用在Partition Everything Overview中提到的相同的原则:Functional Segmentation<br />eBay一共有超过16000个app servers,部署在220个pools里面。有Selling Pools,Search Pools…<br /><br />为什么不在一个app server里面放进去所有的应用?首先是eBay的应用太大了,一台app server里面根本就放不下,就算放的下,那也不翻译 2011-01-07 16:11:00 · 684 阅读 · 0 评论 -
eBay Architecture(3)--What do we think about?
在考察一个项目的时候,architect主要从以下5个方面考虑问题:Scalability(可扩展性) Resource usage should increase linearly(or better!) with load。项目的设计必须满足当负载增加的时候,用于支持这些负载的资源必须是线性增加而不是指数增加的。这里的负载指流量(traffic),用户数(user),数据量(dat翻译 2010-03-09 11:41:00 · 810 阅读 · 0 评论 -
eBay Architecture(5)--Partition Everything[Overview]
Randy引用了Eric的一句话,"If you cant split it, you cant scale it"。在这里Partition和Split是一个意思,就是把一个大家伙切分成便于管理的小家伙。如果我们做一个项目,里面有一个模块无法Partition,这就意味着一个风险:因为这个模块没有办法Partition,也就是说所有要和该模块打交道的应用都汇聚于一点,如果这个点崩溃了,整个系翻译 2010-03-09 11:42:00 · 616 阅读 · 0 评论 -
eBay Architecture(4) -- How do we do it?
Randy在他的讲座里面一共提到4大战略(Archutectural Strategies)。Strategy 1: Partition Everything-- "How do you eat an elephant?... One bit at a time"这其实是横向切分,并不是纵向备份。其实就是follow了divide and conquer的思想。不过这样的做原创 2010-03-09 11:42:00 · 654 阅读 · 0 评论 -
eBay Architecture(2)-- What we're up against
这是Randy要给我们一个大概的感觉,让我们知道我们是在维护一个什么样规模的网站。这点我平时已经感觉到了,规模大了以后什么问题都有。eBay每年都会给Clear Case, Oracle, SUN报不少的BUG。先看一下Slide吧 2亿7千万注册用户,就我个人而言,更关心active registered users。特别是其中的good buyer/seller的数字。 20亿翻译 2010-03-09 11:39:00 · 636 阅读 · 0 评论 -
eBay Architecture(10)–Remember Everything Fails[Overview]
<br />Remember Everything Fails,这句话我想不单单适用于IT系统,以前学C++的Exception,或者Error Handling的时候,我记住了一句话,每一条代码都有可能出错,做一个系统,如果没有Error Handling,那就不是一个良好的系统。当初我和焦祯老师一起设计LabVIEW to C Instrument Driver Converter的Error Handling的时候就费了好大心思。好,回到eBay的系统中来,我们知道不但软件会出错,硬件也靠原创 2011-01-07 16:23:00 · 837 阅读 · 0 评论
分享