eBay 架构经验
- Partition Everything 切分万物
- Asynchrony Everywhere 处处异步
- Automate Everything 全部自动
- Remember Everything Fails 记录失败
- Embrace Inconsistency 亲不同是谓大同
- Expect (R)evolution 预言演变
- Dependencies Matter 重视依赖
- Be Authoritative 独断专行
- Never Enough Data
淘宝架构经验
- Partition Everything 切分万物
- 适当放弃一致性
- 备份和隔离解决稳定性问题
- 分割和异步解决性能问题(类似 eBay 的 Asynchrony Everywhere)
- 自动化降低人力成本(类似 eBay 的 Automate Everything)
- 产品化管理
Flickr架构经验
- 使得机器自动构建 (Teach machines to build themselves)
- 使得机器自监控(Teach machines to watch themselves)
- 使得机器自修复(Teach machines to fix themselves)
- 通过流程减少 MTTR (Reduce MTTR by streamlining)
架构的关注点是系统。其全名本来也是系统架构。它是系统级的主题。它当然也属于系统设计过程的一个部分。只是与面向对象聚焦于业务领域不同,它聚焦于解决所有系统共同的问题,或者说与业务逻辑无关的问题。
上面所列出的技术,其实可以全部归结为对以下技术的采用:
- 自动化
- 错误记录
- 异步
- 接受不一致性即适当地放弃正确性
- 对系统进行适当的抽象定义(横向与竖向。模块与方面。数据分割。。。模块,方面,分割的数据都是一种抽象。定义是为了管理。没有定义就没有管理。定义是管理的前提。要不然,“管理”什么?)
- 可进化性
- 面向用户(即产品化。产品化指的是从产品的角度对产品进行包装,,包括产品服务,错误,交互,UI等等)
- 隔离(管理依赖--剔除不必要的依赖,管理必要的依赖)
- 使得机器自监控(Teach machines to watch themselves)