单体架构应用的问题
•
1 复杂性高:当一个项目达到百万级别,整个项目包含的模块非常多、模块的
边界模糊、依赖关系不清晰、代码质量参差不齐、混乱地堆砌在一起。整个项
目非常复杂。每次修改代码都心惊胆战,甚至添加一个简单的功能,或者修改
一个 bug 都会带来隐含的缺陷。
•
2 技术债务:随着时间推移、需求变更和人员更迭,会逐渐形成应用程序的技
术债务,并且越积越多。“不坏不修”,这在软件开发中非常常见,在单体应用
中,这种思想更严重。已使用的系统设计或代码难以被修改,因为应用程序中
的其他模块可能会以意料之外的方式使用它。
•
3 部署频率低:随着代码的增多,构建和部署的时间也会增加。而在单体应用
中,每次功能的变更或缺陷的修复都会导致重新部署整个应用。全量部署的方
式耗时长、影响范围大、风险高,这使得单体应用项目部署的频率较低。而部
署频率低又导致两次发布之间会有大量功能的变更和缺陷修复,出错概率较高。
评论1