Conway's law(康威定律)

你想要什么样的系统,就搭建什么样的团队。如果你的团队分成前端,后台,DBA团队,运维团队,你的系统就会长成下面的样子:

典型的分层架构:

如果你的系统是按照业务边界划分的,大家按照自己的业余去把自己的模块做出小产品的话,你的系统就会长成下面的样子,这就是微服务的架构。

微服务的理念团队间应该是 inter-operate, not integrate 。inter-operate是定义好系统的边界和接口,在一个团队内全栈,让团队自治,每个子系统是内聚,系统彼此的依赖耦合是松散的。

微服务一定是好的么?不一定。

Pivotal的攻城狮们是spring框架下微服务的引领者,他们说做好微服务很难,不好的微服务还不如做单体应用。但是讲一个单体应用改造成微服务架构那是巨大的工作量。他们给出了设计好的微服务三个指导思想

1 domain design driven

2 系统的边界要划分清晰

3 API firstly

后续文章会介绍自己这三点的感悟。

参考和抄袭文献:
https://yq.aliyun.com/articles/8611

https://infoq.cn/article/every-architect-should-study-conway-law

你可能感兴趣的:(Conway's law(康威定律))