12 个技巧帮你顺利从单体应用到微服务

本文提供了12个技巧帮助团队从单体应用平滑过渡到微服务。包括确保理解微服务的权衡,制定详细的计划,使用monorepo,实施共享CI/CD,安装API网关,考虑一体成型模式,使用功能标志,模块化单体,解耦数据,添加可观察性等。强调了微服务迁移不仅是技术挑战,也涉及团队和业务模式的转变。
摘要由CSDN通过智能技术生成

前言

你的团队决定是时候摆脱那个旧的、笨重的单体了,它运行得很好,但是单体已经变得如此之大,以至于你花费更多的精力来维护它而不是添加功能。这里有 12 个技巧,可帮助您尽可能顺利地过渡到微服务。

#1 确保你知道你在做什么

重写从来都不是一件容易的事,但是从单体应用到微服务,你改变的不仅仅是编码方式;你正在改变公司的运营模式。你不仅需要学习一个新的、更复杂的技术栈,管理层还需要调整工作文化,将人员重组为更小的跨职能团队。 如何最好地重组团队和公司是值得单独发帖的主题。在本文中,我想重点介绍迁移的技术方面。 首先,在开始之前尽可能多地研究采用微服务所涉及的权衡是很重要的。您希望绝对确定微服务(而不是其他替代解决方案,例如模块化单体)是适合您的解决方案。 首先学习有关微服务架构的所有知识,并查看一些示例项目以了解其工作原理。这里有些例子

#2 制定计划

拆除单体应用需要大量准备工作,因为旧系统必须在过渡期间保持运行。 迁移步骤可以通过工单进行跟踪,并像任何其他任务一样在每个 sprint 中进行。这不仅有助于获得动力(实际上有朝一日实现迁移),而且让业务所有者了解团队如何计划实施如此大的变化。 在计划期间,您必须:

  • 解开单体内部的依赖关系。

  • 确定所需的微服务。

  • 为微服务设计数据模型。

  • 开发一种在单体和微服务数据库之间迁移和同步数据的方法。

  • 设计 API 并计划向后兼容。

  • 捕获单体应用的基线性能。

  • 为新系统的可用性和性能设定目标。

除非您从一个相当简单的单体架构迁移,否则您将需要高级技术,例如领域驱动设计 (DDD)。

#3 把所有东西都放在一个 monorepo 中

当你分解单体时,大量代码将从单体中移出并转移到新的微服务中。monorepo可帮助您跟踪这些类型的更改。此外,将所有东西放在一个地方可以帮助您更快地从故障中恢复。 您的单体应用很可能已经包含在一个存储库中。因此,只需为微服务创建新文件夹即可。

#4 使用共享

CI 管道 在开发过程中,您不仅会不断推出新的微服务,还会重新部署单体应用。这个过程越快

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值