前言
在我们进行微服务架构设计和改造过程中,一个不可避免的问题是如何确定服务边界、如何进行服务识别,微服务的划分粒度究竟如何确认。我们可能会听到,服务既不能太大,也不能太小,当然这是一个笼统的概念。那么,问题来了,究竟多大是大,多小是小。
比如,以下原则是否可行?
一个微服务应该包含N行代码
将系统中每一个功能都定义为一个服务
另外,考虑一个问题:如果服务划分太细,会出现什么问题?
服务爆炸
服务交叉引用
代码过度耦合
所以,接下来,我们将讨论在微服务架构设计中,如何进行服务定义与划分。
良好设计的服务包含的五个特征
一个设计良好的服务应包含以下五个特征