相信每一位程序架构师,在从零开始搭建一套大型软件系统或者要将大型单体应用进行微服务改造的时候,如果采用微服务架构,那么服务如何划分,一定是每一位架构师都避不开的问题。那么本文就从架构演进的视角来分析如何对服务进行拆分。
1.拆分时机
微服务拆分绝非是一个大跃进的过程,是要综合人、环境、时机三要素进行评估的,拆分时机不对,很容易把一个应用拆分的七零八落,最终大大增加运维成本,却不会带来明显收益。
微服务拆分的过程,是要基于某个痛点出发,是业务真正遇到快速迭代和高并发等问题,如果不拆分,将对于业务的发展带来影响,只有这个时候,微服务的拆分才是有确定收益的,增加的运维成本才是值得的。
1.1 有快速迭代的需求
互联网时代,业务需求快速迭代,应用的交付需要快速响应式交付。通过微服务架构,采