业务系统拆分的基本思路

1. 梳理所有的业务功能环节

      粗粒度的拆,比如客户服务,订单服务...

2. 选取某一业务,比如订单,从上至下的拆分,用思维导图金字塔的方式进行

     将服务的步骤理解清楚,比如 1. 校验  2.生成订单(接口方式、界面方式) 3.服务开通 4.订单归档      

3. 梳理所有业务主体,进行归类,画出业务泳道图。

    如果系统的业务比较多,处理逻辑上有差异,可以将业务主体分为几类,比如,普通业务,短流程业务,长流程业务,特殊业务等

4. 将金字塔结构图结合业务泳道图通过关键指标来识别关键业务功能

    (1) 将所有的通过用业务逻辑组成公共服务,比如配置服务,调度服务,缓存服务等

    (2) 有一个业务主体,得到了各方面的关注,那么就把这个业务首先拆分出来独立成一个呜呜

    (3) 长流程业务就符合业务主体特殊一条标准,可以提取为一个独立的服务

    (4) 分渠道,比如将接口调用的逻辑和界面方式的逻辑解耦成两个服务,比如后台和接口,使得两个变成独立的管道互不影响

5. 进行重构

    重构手法:

    (1) 因为业务量特别大,系统采用消息队列的方式进行处理,通过接骨法接触代码之间的耦合,并提供对外服务的借口

    (2) 首先拆除所有的公共服务(校验服务,规则服务,开通服务,归档服务),然后再拆分特殊业务主体服务(重点业务,长流程业务),最后拆不同驱动实现方式(接口服务和界面服务)

    (3) 比如创建订单的环节,设计所有的业务主体,影响大,所以这个服务不能一下子全拆出来,要通过修路法,先建设一个订单服务和原来的系统并行使用,同时分流出几个试点业务到订单服务。当上下游调用没有问题,可以正常创建订单后,再通过分批逃跑法,逐步地将其他业务的处理迁移到这个微服务上面,最终当所有的业务都迁移成功之后,原来的系统的订单处理逻辑就废弃了。

    (4) 在这些业务的拆分过程中,数据库拆分的工作也同时进行


猜你喜欢

转载自blog.csdn.net/u011402896/article/details/80506394
今日推荐