Randy在他的讲座里面一共提到4大战略(Archutectural Strategies)。
- Strategy 1: Partition Everything
-- "How do you eat an elephant?... One bit at a time"
这其实是横向切分,并不是纵向备份。其实就是follow了divide and conquer的思想。不过这样的做法对eBay的整个系统影响很大的,后面Randy从数据库,应用层和搜索引擎3各方面给我们做了解释。
- Strategy 2: Async Everywhere
-- "Good things come to those who wait"
异步操作。异步操作能够平滑待处理的任务,如果高峰期的时候我们要处理100%的traffic,而平时大多数时间只有60%的traffic,我们不需要按照100%的traffic配置系统,我们只要按照60%的要求配置系统就可以了。高峰期的任务可以被queue到系统有空闲的时候进行。当然带来的挑战就是如何保证有时序要求的任务?还有如何处理有实时要求的任务?下面都会谈到。
- Strategy 3: Automate Everything
-- "Give a man a fish and he eats for a day ...
Teach a man how to fish and he eats for a lifetime"哈哈,Randy在说句话的时候知道这是一句中国的谚语,Randy大牛,让我来教你中文怎么说吧:“授人以鱼不如授人以渔”-:)
- Strategy 4: Remember Everything Fails
-- "Be Prepared"
要做好最坏的打算,别指望机器会不出错!
这里只是列一下,一定要记住,这是整个讲座的主线,接下来就是针对每一条战略铺开详细介绍。这4条战略我没有去翻译,因为已经很清楚了。