日前参加了一场淘宝网架构师黄裳带来的技术分享,在最后他总计了淘宝这几年来的架构经验,这里和大家分享一下:
- 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。此外,强调了”放弃集中的紧耦合处理”的原则。”备份”这里可以理解为”提供可用的副本”。”分割”是说水平拆分。
架构这东西说起来大致原则,其实都是类似的,但是具体如何在一些通用原则上做到运用自如,是很难的事情。前几天我还感慨,很多架构师对与”异步”与”批量处理”所能带来的益处的理解仍然相去甚远。
–EOF–