上QQ阅读APP看书,第一时间看更新
2.10 理解康威定律
康威定律如下:
“设计系统的组织……其产生的设计和架构等价于组织间的沟通结构。”
这意味着系统的结构将反映构建该系统的团队的结构。一个著名的变体是埃里克·雷蒙德(Eric Raymond)提出的:
“如果你有四个小组构建一个编译器,那么你将获得一个四通道编译器。”
这是非常有见地的,并且我在很多不同的组织中都目睹了这一点。这与基于微服务的系统非常相关。拥有许多小型微服务,你不需要每个微服务都有专门的团队。微服务/团队将有一些更高级别的集合在一起工作,以实现系统的某些功能。现在的问题是如何考虑这些高层次结构,你有三个主要选项:
·垂直组织
·水平组织
·矩阵组织
在这方面,微服务可能非常重要。作为小型自治组件,它们支持所有结构。但是,更重要的是组织何时需要从一种方法过渡到另一种方法。通常的轨迹是:水平-垂直-矩阵。
如果软件遵循基于微服务的架构,则组织可以轻松进行这些转换。它甚至可以成为决定因素。不遵循基于微服务的架构,组织会决定保留不合适的结构,因为打破整体结构的风险和工作量过高。