随着业务的发展,单体应用的劣势,逐渐凸显。难以适应业务的快速变化,更新迭代慢,为适应不同业务,相同的系统生产出现重复部署,高度冗余的现象,系统数量快速膨胀,难以维护。单体应用微服务化改造显得迫在眉睫。下文简要介绍将单体应用改造微服务。
服务抽离,将单体应用进行拆分,相对独立的业务模块微服务化。考虑到改造同时要保证业务正常稳定进行。我们循序渐进的重构单体应用。首先,基于业务抽象出公共数据模块进行由数据库层面的拆分。根据公共而且偏基础的模块进行抽离,改造成微服务,逐步减少单体应用,一旦被拆分出来的服务就可以快速响应迭代需求开发。需要添加请求路由功能,类似api网关,将部分新的接口分离出来,拆分的架构服务如下。
前后端分离,前端完全脱离业务逻辑层,采用HTTP实现REST API接口独立微服务,api server微服务对应有独立的数据库,以及缓存机制。改造前后架构。
运维监控层面,微服务增大了运维成本,部署节点增多,需要全方位的监控体系,故障跟踪定位复杂度加大。
总体而言,随着微服务体量的增加,团队开发效率以及灵活性会得到快速提高。
领取专属 10元无门槛券
私享最新 技术干货