Neo Anderson's Blog

架构设计的八大原则

字数统计: 400阅读时长: 1 min
2017/02/02
loading

服务低耦合

低耦合的具体表现是,一个服务的变更不会迫使其它服务或系统需要同时做出变更。

服务高内聚

高内聚的具体表现是,一个业务逻辑的变更,只需要修改一个服务,一个模块,或一个类。若出现需要修改多处的情况则不符合高内聚特性。

接口幂等性

幂等性是系统的接口对外一种承诺,承诺只要调用接口成功,外部多次调用对系统的影响是一致的。

有效追踪请求调用链

可追踪从请求发起,到各个调用节点间传递过程中的访问、结果及错误等信息。包含但不限于:直接调用,异步调用以及定时脚本。

统一的通信方式

服务、系统、体系间使用相同的通信协议和风格进行沟通。

可精确评估任何变更的影响范围

在进行任何改动时能够快速、有效、精确地定位出的受影响的模块、服务、系统、业务等等。

服务数据隔离

所有服务必须做到数据隔离,任何跨服务领域的数据操作(读写)必须通过接口完成。

有限度地使用异步化

由于异步化会增加整体架构的复杂度,在开发新功能的同时需要合理地规划和实现监控体系,增加上线成本,因此需在一定的规范下有限度地使用异步化。

CATALOG
  1. 1. 服务低耦合
  2. 2. 服务高内聚
  3. 3. 接口幂等性
  4. 4. 有效追踪请求调用链
  5. 5. 统一的通信方式
  6. 6. 可精确评估任何变更的影响范围
  7. 7. 服务数据隔离
  8. 8. 有限度地使用异步化