1引言
电信业在近几年得到了蓬勃的发展,业务更加复杂,关系更加紧密,数据更加多样化。原先旧的综合服务保障系统逐渐显露出自身架构的缺陷:所有功能集中在一个项目中,逻辑复杂、模块耦合、代码臃肿,修改难度大,系统错误隔离性差、可用性差,任何一个模块的错误均可能造成整个系统的宕机。加之为顺应电信IT系统的Paas云平台化改造,决定对现有综合服务保障系统进行基于SpringCloud的微服务化改造[1]。
2微服务简介
微服务是将原本单一型的应用分解为多个微服务,各个微服务独立运行在自己的进程中,可分别有自己的数据库。微服务之间使用REST或者RPC等协议进行通信。具有易于开发和维护、启动更快便于部署、更宽的技术栈等优点。3微服务改造实践
综合服务保障系统是一套在用系统,所以如果从头构建全新的基于微服务的应用,充满了风险,有可能导致失败。相反,应当采取渐进式重构旧系统的策略,逐步构建一个由微服务构成的应用,与旧系统并行运行。随着时间推移,原先由旧系统实现的功能不断收缩,最后或者完全消失,或者转变为微服务。转化的实现策略包括以下几个方面:
策略一:拆分前端和后端。将表示层与业务逻辑和数据访问层分离。表示层是一个应用,业务和数据访问逻辑是一个应用。表示层应用远程调用业务逻辑层。
策略二:提取微服务。将旧系统内的模块转变为独立的微服务。每当提取模块将其转化为服务,旧系统就会收缩。一旦转化了足够的模块,旧系统或者彻底消失,或者缩小成为另一个微服务。
策略三:新增的业务模块直接微服务化。使旧系统停止继续变大,不再对旧系统开发新的功能,而把新的功能模块开发成为独立的微服务[2]。
基于SpringCloud的电信综合服务保障系统
微服务改造之路
The Path of Micro-Service Transformation of the Guarantee System of
Telecommunication Integrated Service Based on SpringCloud
刘斌
(中邮科通信技术股份有限公司,福州350001)
LIU Bin
(China Youke Communication Technology Co.Ltd.,Fuzhou350001,China)
分布式和微服务的关系【摘要】随着电信业务的多元化发展,对后端运营支撑的电信综合服务保障系统提出了更高的要求。传统的单体式应用逐渐暴露出自身架构的缺陷,如复杂性高、扩展性差、技术栈单一。为改进单体式应用的不足,论文提出了基于SpringCloud的微服务架构设计方案。经过改造的电信综合服务保障系统更易于开发、理解和维护,并且不受技术栈的限制。
【Abstract】With the diversified development of telecommunication business,higher requirements are put forward for the guarantee system of telecommunication integrated service supported by back-end operation.The traditional single application has gradually exposed the defects of its own architecture,such as high complexity,poor scalability and single technology stack.In order to improve the disadvantages of single application,this paper proposes a micro-service architecture design scheme based on SpringCloud.The improved guarantee system of telecommunication integrated service is easier to develop,understand and maintain,and is not limited by the technology stack.
【关键词】SpringCloud;微服务架构;改造
【Keywords】SpringCloud;micro-services architecture;transformation
【中图分类号】TP311【文献标志码】A【文章编号】1673-1069(2019)11-0090-02
【作者简介】刘斌(1981-),男,福建福州人,工程师,从事软件工程
研究。
90

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。