ebay的系统扩展性经验

| No Comments | No TrackBacks

昨天看了 ebay-scalability-best-practices ,做了简单的摘要记录:

可扩展的衡量:性价比


Best Practice #1: Partition by Function
Further, the more decoupled that unrelated functionality can be, the more flexibility you will have to scale them independently of one another.
代码层,应用层,数据库层都需要进行功能分割,好处:可以独立的扩展

Best Practice #2: Split Horizontally
垂直分割?
减少耦合后,任何一个单个模块可以搞定自己的系统,不依赖其他
无状态的应用服务器,没有事务,任意扩展--scale out
数据库:肯定是有状态的  shard 简单的取模分割,扩展  取模的key可以是很多

Best Practice #3: Avoid Distributed Transactions
The CAP theorem, postulated almost 10 years ago by Inktomi's Eric Brewer, states that of three highly desirable properties of distributed systems - consistency (C), availability (A), and partition-tolerance (P) - you can only choose two at any one time. For a high-traffic web site, we have to choose partition-tolerance, since it is fundamental to scaling. For a 24x7 web site, we typically choose availability. So immediate consistency has to give way.
避免分布式事务,用另外的方法尽量保证一致性

Best Practice #4: Decouple Functions Asynchronously
Techniques like SEDA (Staged Event-Driven Architecture) can be used for asynchrony inside an individual component while retaining an easy-to-understand programming model. Between components, the principle is the same -- avoid synchronous coupling as much as possible.
异步解耦,减少系统间的耦合

Best Practice #5: Move Processing To Asynchronous Flows
异步处理

Best Practice #6: Virtualize At All Levels
对上层调用者屏蔽实现细节 O-R LVS-balance都是属于这种

Best Practice #7: Cache Appropriately
避免cache滥用,造成系统对cache 可用性的依赖,影响系统的可靠性。

--EOF--

No TrackBacks

TrackBack URL: http://www.guduo.net/cgi-bin/mt/mt-tb.cgi/85

Leave a comment

Pages

May 2016

Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

About this Entry

This page contains a single entry by 谷多 published on June 1, 2008 9:08 AM.

DO PO BO AO AO DAO CAO was the previous entry in this blog.

油茶籽油 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.