1、应用系统是否变的巨大而导致开发、维护、部署变的越来越困难;应用系统是否频繁变更用于满足用户频繁变更的需求。如无上述问题,无需微服务改造。
2、一个微服务应对应一个业务领域模型,可参考领域驱动设计(DDD)的方法进行微服务划分。
3、采用docker需要配合Kubernetes。如果不是对启动时间要求特别高。建议采用虚拟机进行部署即可。
拆分原则都是通用的,要根据预提业务需求和环境拆分
单一职责原则:即”把因相同原因而变化的东西聚合到一起,把因不同原因而变化的东西分离开来”。通过这个原则确定微服务边界。
先分数据库、后分服务:数据模型能否彻底分开,决定了微服务的边界功能是否彻底划清,实践中我们先讨论数据模型边界,数据模型的边界映射了业务的边界,进而从底向上完成服务拆分。
实现方法有很多,现在最流行的是:docker+Kubernetes。