微服务是当下最流行的应用架构技术了,它跟容器服务、DevOps合称云时代的三剑客,可以帮我们化解业务发展过快导致的产品迭代压力,让我们可以自由选择最适合团队的技术栈,让系统能够承载互联网海量用户的访问,让我们可以更加轻松地运维大型的互联网系统。近些年在厂商、社区和用户等各方努力推动下,微服务相关的理论和产品都日趋成熟,不同语言的微服务开发及治理套件(例如:Spring Cloud/Dubbo等)让我们从零开始搭建微服务变得非常简单快捷,那我们是否就此可以全面进入微服务时代呢?
微服务的演进成熟需要时间,我们熟悉掌握这套新技术也需要时间,除此之外机房里面还跑着大量的单体式应用,它们需要继续维护和升级,任何时候我们都不可能抛开历史轻松上阵。这些单体式应用还担负着公司的核心业务,全部推倒重来、休克式重构是不可取的,投入大周期长,风险完全不可控。我们必须学会边行车边换胎的技能,在不影响现网业务的前提下推动微服务改造,让老系统焕发新的生命力,继续支持业务下一个十年的发展。本文将跟你一起探讨微服务改造相关的经验方法,让你更加从容地拥抱微服务!
- 1. 边行车边换胎三步走演进策略
如何从单体式应用演进至微服务呢?这些单体式应用都存在很长时间了,经过这么长时间的修修补补,体量规模都比较大,尤其是经过几波人交接维护,业务逻辑也变得异常复杂。同时,它们都在线对外提供服务,全部推倒重建的可能性微乎其微,休克式重构投入大周期长,风险也不好控制,还会影响业务对外服务的连续性。从现实情况出发,最可行的架构优化方案就是渐进式的微服务改造,按照业界的最佳实践和个人经验,该演进策略主要