| 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 可用性的依赖,影响系统的可靠性。


No TrackBacks

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

Leave a comment


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.