迁移单体式应用到微服务架构意味着经历一系列复杂的现代化过程,这与历代开发者持续追求技术革新的努力颇为相似。在进行迁移时,我们确实可以汲取过去的智慧并重用一些成熟的想法。

其中一个关键的策略是避免采取大规模重写代码的方式,即所谓的“大爆炸式”重写。这种方法仅在决定彻底颠覆现有系统,构建一套全新的基于微服务的应用时才应考虑。然而,重写代码虽然听起来诱人,但实际操作中却隐藏着巨大的风险,并可能导致失败。正如Martin Fowler所强调的:“大爆炸式重写唯一能保证的,就是一场大爆炸!”

相反,我们更倾向于采取一种渐进式的迁移策略。这意味着我们需要逐步构建并引入新的微服务应用,同时保持与原有单体式应用的集成。随着时间的推移,单体式应用在整个系统架构中的比重将逐渐降低,直至最终完全消失或融入微服务架构中。这种策略类似于在高速路上限速进行车辆维护,虽然存在一定的挑战,但相较于重写整个系统的风险来说,它更为可控且稳健。