微服务架构转型:从单体应用到高效解决方案
1. 单体应用面临的挑战
1.1 生产缺陷问题
对于任何项目管理者来说,无缺陷部署是梦寐以求的。然而,现实并非如此,每个团队都对部署中出现缺陷的可能性感到担忧。单体应用也不例外,解决生产中的缺陷说起来容易做起来难。如果之前的缺陷尚未解决,情况只会变得更加复杂。
1.2 组织协调难题
在单体应用中,处理庞大的代码库并非唯一挑战。管理这样一个代码库的大型团队也是影响业务和应用发展的问题。组织协调中,团队目标是最关键的因素,团队成员应具有相同的目标,即每天及时且无缺陷地交付。但当前应用的大型代码库使单体架构风格让团队成员感到不适。由于代码和相关交付物相互依赖,团队成员也相互依赖,大家都在匆忙完成工作,无暇互相帮助或尝试新事物,团队缺乏自组织能力。
Roy Osherove将团队发展分为三个阶段:生存阶段(无暇学习)、学习阶段(学习解决自身问题)和自组织阶段(促进和实验)。此外,开发团队因功能增强、缺陷修复或模块依赖等原因,交付时间过长,阻碍了开发的顺利进行。QA团队依赖开发团队,开发团队有自身问题,当开发人员处理缺陷、修复或功能增强时,QA团队就会陷入困境,因为没有单独的环境或构建可供他们进行测试,这会延迟整体交付,导致客户或最终用户无法及时获得新功能或修复。
1.3 模块化缺失困境
在单体应用中,一个模块的更改会影响其他模块,例如订单模块的更改会影响库存模块。这种情况是由于缺乏模块化导致的,这意味着无法在其他模块中重用某个模块的功能,代码未分解为可重用的结构化片段,代码模块之间没有隔离,也没有通用代码。随着业务和客户的增长,不同地区的客户对应用使用有不
超级会员免费看
订阅专栏 解锁全文
1407

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



