架构设计的一些关键点

架构设计的一些关键点

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

淘宝架构经验
  1. Partition Everything 切分万物
  2. 适当放弃一致性
  3. 备份和隔离解决稳定性问题
  4. 分割和异步解决性能问题(类似 eBay 的 Asynchrony Everywhere)
  5. 自动化降低人力成本(类似 eBay 的 Automate Everything)
  6. 产品化管理

Flickr架构经验
  1. 使得机器自动构建 (Teach machines to build themselves)
  2. 使得机器自监控(Teach machines to watch themselves)
  3. 使得机器自修复(Teach machines to fix themselves)
  4. 通过流程减少 MTTR (Reduce MTTR by streamlining)

架构的关注点是系统。其全名本来也是系统架构。它是系统级的主题。它当然也属于系统设计过程的一个部分。只是与面向对象聚焦于业务领域不同,它聚焦于解决所有系统共同的问题,或者说与业务逻辑无关的问题。
上面所列出的技术,其实可以全部归结为对以下技术的采用:
  1. 自动化
  2. 错误记录
  3. 异步
  4. 接受不一致性即适当地放弃正确性
  5. 对系统进行适当的抽象定义(横向与竖向。模块与方面。数据分割。。。模块,方面,分割的数据都是一种抽象。定义是为了管理。没有定义就没有管理。定义是管理的前提。要不然,“管理”什么?)
  6. 可进化性
  7. 面向用户(即产品化。产品化指的是从产品的角度对产品进行包装,,包括产品服务,错误,交互,UI等等)
  8. 隔离(管理依赖--剔除不必要的依赖,管理必要的依赖)
  9. 使得机器自监控(Teach machines to watch themselves)

你可能感兴趣的:(架构设计的一些关键点)