快速迭代开发更新,微服务、容器已在金融行业不断部署落地,新业务应用可以按照新架构要求进行服务拆分容器化部署,但针对现有的业务系统,如何有序、稳定的进行微服务演进?
服务拆分根据业务需要考虑三方面问题:
1、服务边界切分需要依赖”低耦合,高内聚“的原则,明切业务单元的边界,尽可能减少同一个业务的不同服务单元的调用依赖;
2、服务依赖,需要明确一个业务构成过程中的服务依赖关系,避免出现回环依赖,双向依赖的场景。最好的方式是实现链式依赖调用;
3、服务交互规范,从协议以及数据传输规范层面说明服务与服务之间的交互方式,包括采用的通信协议,数据传递格式等;
首先一定要明确,不要为了微服务化而微服务化,一切要按需进行,不是所有的业务都适合微服务化。
若要进行微服务化,要做到但不限于以下几点,
1、对企业现存系统进行梳理,梳理出符合微服务化特征的系统;
2、梳理系统之间的服务关系与依赖关系;
3、系统性能分析要做好;
4、考虑迁移成本。
所有的架构都有其存在的意义,不存在单一的更迭。
1、梳理下目前业务系统,把流量大,迭代频率高的功能抽离出来,尽可能先做读的服务
2、业务梳理出来之后,暂时先不要做数据剥离,还是使用之前的数据库
3、在网关层或者Nginx层做分发处理,新老系统流量拆分
4、根据运行的过程中发现的问题逐步改进
总之,有迭代需求先做,小步快跑上线。