最近阅读了体系结构的优点,其中康威定律给我留下了深刻的印象,所以我查阅了相关资料,根据多年开发体系结构的经验,总结了一些心得。
让我们先来看看这条定律的原文:
organizationswhichdesignsystemsareconstrainedtoproducedesignswhicharecopiesofthecommunicationstructuresoftheseorganizations .
恐怕翻译过来就是设计系统的组织,其生成的设计和框架与组织间的交流结构等价。
康威定律被视为微服务体系结构的理论基础,有一定的依据,主要有以下几点:
1 .将大系统划分为一个个小业务模块,每个业务模块由对应的小团队负责,且每个小团队是独立的,划分模块时应按照业务而不是技术划分。
2 .避免过度设计。 一个系统的初级不是很大、很完整,需要一个完善、进化的过程,只要能保持可移植性、高扩展性就可以了。 保持柔软的设计。
3 .每个微服务器应该有自己的数据库和资源,避免合并。
4 .各微服务对外提供的接口尽可能与各种不同的技术和开发语言兼容。
5 .专注于产品的生命力,而不是针对项目的技术。 所以技术人员也需要对业务有一定的理解。