继续追杨波老师讲的《微服务》课程
康威一个程序员,他在1967年提出来的,他的原话是这样
Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations. - Melvin Conway(1967)
康威法则设计系统的组织,其产生的设计和架构,等价组织的组织架构
是否有感觉不觉明厉
在微服务火热了之后,1967年的康威定律再次被提出来,被很多人视为微服务的理论基础
刚开始的互联网公司业务量一般是不大的,刚开始一般回去尝试业务模式是否能跑得通,所以一般来说一开始的系统是一个简单的系统,很可能是一个单块应用,这个时候团队的规模也是不大的,一般来说就几个人或者是十几个人,随着业务量越来越大,必然会出现团队的规模越来越大,原来的一个团队可能不够了,需要2个3个,甚至更多的团队来协同。那么这个时候,如果我们的系统还是一个单块架构,那么它就跟分散式多团队产生了不匹配的情况,就是所谓的违反了我们康威定律,单块应用的架构没有反应团队的组织架构,这个时候就会产生矛盾,沟通和协调成本很高,交付效率很低。
几个团队共同去对一个单块应用去开发和维护时,如果一个团队对这个单块应用进行改造引入一些新的功能或技术的时候,往往需要其他的团队协作和配合,连同做集成测试才能交付这个应用,这个时候,不仅仅是沟通协调成本高,团队和团队之间往往容易产生摩擦。
也就是说,多团队之间和单应用产生不匹配, 违反康威法则