架构设计的一些关键点

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 自定义基础设施

淘宝架构经验

  • 1、适当放弃一致性
  • 2、备份和隔离解决稳定性问题
  • 3、分割和异步解决性能问题(类似 eBay 的 Asynchrony Everywhere)
  • 4、自动化降低人力成本(类似 eBay 的 Automate Everything)
  • 5、产品化管理

Flickr架构经验

  • 使得机器自动构建 (Teach machines to build themselves)
  • 使得机器自监控(Teach machines to watch themselves)
  • 使得机器自修复(Teach machines to fix themselves)
  • 通过流程减少 MTTR (Reduce MTTR by streamlining)

 

 

架构的关注点是系统。其全名本来也是系统架构。它是系统级的主题。它当然也属于系统设计过程的一个部分。只是与面向对象聚焦于业务领域不同,它聚焦于解决所有系统共同的问题,或者说与业务逻辑无关的问题。

上面所列出的技术,其实可以全部归结为对以下技术的采用:

1,自动化;

2,错误记录;

3,异步;

4,接受不一致性即适当地放弃正确性;

5,对系统进行适当的抽象定义(横向与竖向。模块与方面。数据分割。。。模块,方面,分割的数据都是一种抽象。定义是为了管理。没有定义就没有管理。定义是管理的前提。要不然,“管理”什么?);

6,可进化性;

7,面向用户(即产品化。产品化指的是从产品的角度对产品进行包装,,包括产品服务,错误,交互,UI等等);

8,隔离(管理依赖--剔除不必要的依赖,管理必要的依赖)。

 

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