By Fenng on December 24, 2009
Fenng日前参加了一场淘宝网架构师黄裳带来的技术分享,在最后他总计了淘宝这几年来的架构经验,这里和大家分享一下:
1、适当放弃一致性
2、备份和隔离解决稳定性问题
3、分割和异步解决性能问题(类似 eBay 的 Asynchrony Everywhere)
4、自动化降低人力成本(类似 eBay 的 Automate Everything)
5、产品化管理
在这里不妨对比一下 eBay 的架构经验:
1、 Partition Everything
2、 Asynchrony Everywhere
3、 Automate Everything
4、 Remember Everything Fails
5、 Embrace Inconsistency
6、 Expect (R)evolution
7、 Dependencies Matter
8、 Be Authoritative
9、 Never Enough Data
10、Custom Infrastructure
关于一致性,可以延伸阅读 Amazon CTO 的大作 Eventually Consistent。此外,强调了"放弃集中的紧耦合处理"的原则。"备份"这里可以理解为"提供可用的副本"。"分割"是说水平拆分。
架构这东西说起来大致原则,其实都是类似的,但是具体如何在一些通用原则上做到运用自如,是很难的事情。前几天我还感慨,很多架构师对与"异步"与"批量处理"所能带来的益处的理解仍然相去甚远。