通过将特定的功能片断逐渐取代为新的应用程序和服务,逐步迁移旧系统。 随着旧系统的功能被替换,新系统最终将取代旧系统的所有功能,抑制旧系统并使其停用。
随着系统老化,生成系统所使用的开放工具、托管技术和系统体系结构变得过时。 添加新功能后,这些应用程序的复杂性可能会大幅增加,这使得维护系统或添加新功能变得困难。
完全替换一个复杂系统是一项艰巨的任务。 通常情况下,需要逐步迁移到新系统,同时要使旧系统处理尚未迁移的功能。 但是,运行两个不同版本的应用程序意味着客户端必须知道特定功能的具体位置。 每当进行功能或服务迁移时,都需要更新客户端以指向新位置。
用新的应用程序和服务逐步替换特定的功能。 创建一个外层来拦截请求前往后端旧版系统。 外层可将这些请求路由到旧版应用程序或新服务。 现有功能可逐步迁移到新系统,使用者可继续使用相同的接口,他们并不知道迁移已发生。
此模式有助于将迁移的风险降至最低,并可在一段时间内分散开发工作。 由于外层将用户安全路由到正确的应用程序,你可按自己的节奏将功能添加到新系统,同时确保旧版应用程序继续运行。 随着时间推移,功能迁移到了新系统,旧版系统最终受到抑制,并且没有存在的必要。 此过程完成后,可以安全停用旧版系统。
将后端应用程序逐渐迁移到新的体系结构中时,可使用此模式。
此模式可能不适用于以下情况: