云原生应用开发与管理的最佳实践
1. 架构迁移策略
1.1 防腐层模式
使用防腐层模式时,需要考虑其扩展和运营方式,因为它本身是一个独立的服务。此外,在单体应用完全迁移到云原生应用后,还需思考是否停用该防腐层。
1.2 绞杀者模式
在将单体应用分解为微服务和函数时,可以使用网关和绞杀者模式。绞杀者模式的核心思想是将网关作为门面,逐步将后端单体应用迁移到新架构(服务、函数或两者结合)。随着单体应用的拆分和新功能的实现,更新网关以将请求重定向到新功能。不过,该模式不适用于无法拦截到后端单体应用请求的情况,对于较小的系统,直接替换整个系统可能更简单快捷。
1.3 数据迁移策略
单体应用通常使用集中共享的数据存储,要迁移到云原生架构,需要对数据进行解耦。数据迁移策略可能包含多个阶段,多数情况下需进行增量迁移,同时保持系统运行。具体步骤如下:
1. 一段时间内将数据同时写入新旧数据存储。
2. 确保数据在两处都存在且同步后,修改数据读取源,从新存储中读取所有数据。
3. 最终完全停止向旧存储写入数据。
1.4 重写样板代码
单体应用通常有大量处理配置、数据缓存和数据存储访问的代码,可能使用较旧的库和框架。迁移功能到新服务时,应重写这些代码,最好是丢弃旧代码并从头开始编写,而非修改现有代码以适应新服务。
1.5 重新考虑框架、语言、数据结构和数据存储
迁移到微服务提供了重新思考现有实现的机会。可以考虑使用新的框架或语言来重写代码,以获得更好的特性和功能。同时,重新评估现有代码中的数据结构在迁移到服务后是否
超级会员免费看
订阅专栏 解锁全文
6665

被折叠的 条评论
为什么被折叠?



