法则五:如何提升一个架构设计的外部适应性?

174 阅读2分钟

如何抵抗内部压力而为企业注入外部适应性?

从架构设计的角度来说,我们要把大多数的尝试尽量封装到一个小的领域内。这个时候,多次的业务尝试不会随着时间而导致混乱,削减技术体系的外部适应性。

  1. 单一职责,指的是要把每个业务尝试尽量封装到一个单一模块中。好处是一旦尝试失败,就可以迅速把业务逻辑下线,避免影响整体的复杂性。
  2. 最小依赖,指的是整体架构设计要保障大多数业务尝试可以在业务层完成。如果每个业务方的需求都会侵入到底层的逻辑,那么每次尝试都会变成跨团队合作,这种架构会大幅降低业务尝试的速度。
  3. 最小数据共享。一个正在尝试中的业务应该尽量减少与其他业务模块的数据交换,尤其是输出,这样才能最小化它的爆炸半径。否则该业务尝试的数据模型会污染到其他业务,在尝试失败之后对其他业务的影响也会很难剥离。
  4. 最小暴露,指的是在业务尝试期接口不对部门或企业外部暴露,包括 API、数据共享、事件、消息流等一切对外界造成影响的通信机制。

应对交付和压力的挑战

  1. 提升对封装能力重要性的认知。
  2. 建设复杂度控制机制。
  3. 推行最小必要架构原则。

任何增加功能、引入复杂性的设计,都要做一个正式的评审,而简化的行为则不需要。

一个架构师要拥有的业务理解的能力,是基于自己对业务深度认知之后的技术洞察,然后通过这个技术洞察来推动业务发展的能力。


此文章为5月Day14学习笔记,内容来源于极客时间《郭东白的架构课》