如何拆分
1.明白起点和终点
1.1.起点:要考虑现有架构的形态。什么意思呢?是不是为了追随新的微服务潮流才使用微服务理念做系统?是不是想改进老的系统才开始做服务拆分。
1.2.终点:好的架构是进化而来的,而不是设计出来的,而且是一直在演进
2.系统是否适合微服务
2.1.系统中包含很强很强的事务场景,不适合,经典的CAP理论,如果想保证最终一致性,微服务或许不是最好的选择。
2.2.业务相对稳定,迭代周期长,不适合,成本太高。
2.3.访问压力不大,可用性要求不高的,不适合,这种类似的OA系统是杀鸡用牛刀。
3.微服务的特点
3.1.一系列微笑的服务共同组成。
3.2.单独部署,跑在自己的进程里。
3.3.每个服务为独立的业务开发。
3.4.分布式的管理
微服务和康威定律
传统的开发中,一个项目启动后我们从专业化团队中抽取一些人来开发,开发完之后,返还开发资源到团队中
微服务中,倾向于让整个团队来负责整个服务的生命周期。