一文读懂微服务架构的重构策略
![]() 微服务看起来非常适合你的应用程序,但它也更像是一项遥不可及的必杀技。如何才能走上微服务架构的道路?下面将介绍一些策略,帮你摆脱单体地狱,而无须从头开始重写你的应用程序。 通过开发所谓的绞杀者应用程序(strangler application),可以逐步将单体架构转换为微服务架构。绞杀者应用程序的想法来自绞杀式藤蔓,这些藤蔓在雨林中生长,它们包围绕树木生成,甚至有时会杀死树木。绞杀者应用程序是一个由微服务组成的新应用程序,通过将新功能作为服务,并逐步从单体应用程序中提取服务来实现。随着时间的推移,当绞杀者应用程序实现越来越多的功能时,它会缩小并最终消灭单体应用程序。开发绞杀者应用程序的一个重要好处是,与宇宙大爆炸式的彻底重写不同,它可以立刻落地,更快为企业提供价值。 有三种主要策略可以实现对单体的“绞杀”,并逐步用微服务替换之: 1) 将新功能实现为服务。 2)隔隔表现层和后端。 3) 通过将功能提取到服务中来分解单体。 ***种策略阻止了单体的发展。它通常是一种快速展示微服务价值的方法,有助于让迁移和重构的工作获得公司内部各个层面支持。另外两种策略打破了单体。在重构单体时,你有时可能会使用第二种策略,但你肯定会使用第三种策略,因为它能实现将功能从单体迁移到绞杀者应用程序中。 下面让我们来看一看这些策略。 1.将新功能实现为服务 “挖坑法则”(The Law of Holes)指出:如果你发现自己已经陷入了困境,就不要再给自己继续挖坑了。当你的单体应用变得无法管理时,这是一个很好的可供参考的建议。换句话说,如果你有一个庞大的、复杂的单体应用程序,请不要通过向单体添加代码来实现新功能。这将使你的单体变得更庞大,更难以管理。相反,你应该将新功能实现为服务。 这是开始将单体应用程序迁移到微服务架构的好方法。它降低了单体的生长速度,加速了新功能的开发(因为是在全新的代码库中进行开发),还能快速展示采用微服务架构的价值。 把新的服务与单体集成 图 1显示了将新功能实现为服务后的应用程序架构。除了新服务和单体外,该架构还包括另外两个将服务集成到应用程序中的元素: ■ API Gateway:将对新功能的请求路由到新服务,并将遗留请求路由到单体。 ■ 集成胶水代码:将服务与单体结合。它使服 (编辑:通化站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |