单体架构知识点及单体架构的缺陷

简介: 一个归档包(例如war格式或者Jar格式)包含了应用所有功能的应用程序,我们通常称之为单体应用。架构单体应用的方法论,我们称之为单体应用架构,这是一种比较传统的架构风格。

什么是单体架构
一个归档包(例如war格式或者Jar格式)包含了应用所有功能的应用程序,我们通常称之为单体应用。架构单体应用的方法论,我们称之为单体应用架构,这是一种比较传统的架构风格。
单体架构示例图
1.jpg

  • 单体架构的缺陷 -
    1.复杂性高 整个项目包含的模块非常多,模块的边界模糊,依赖关系不清晰,代码质量参差不齐,整个项目非常复杂。每次修改代码都心惊胆战,甚至添加一个简单的功能,或者修改一个BUG都会造成隐含的缺陷。

2.技术债务逐渐上升 随着时间推移、需求变更和人员更迭,会逐渐形成应用程序的技术债务,并且越积越多。已使用的系统设计或代码难以修改,因为应用程序的其他模块可能会以意料之外的方式使用它。
3.部署速度逐渐变慢 随着代码的增加,构建和部署的时间也会增加。而在单体应用中,每次功能的变更或缺陷的修复都会导致我们需要重新部署整个应用。全量部署的方式耗时长、影响范围大、风险高,这使得单体应用项目上线部署的频率较低,从而又导致两次发布之间会有大量功能变更和缺陷修复,出错概率较高。
4.扩展能力受限,无法按需伸缩 单体应用只能作为一个整体进行扩展,无法结合业务模块的特点进行伸缩。
5.阻碍技术创新 单体应用往往使用统一的技术平台或方案解决所有问题,团队的每个成员都必须使用相同的开发语言和架构,想要引入新的框架或技术平台非常困难。由于单体架构的缺陷日益明显,所以越来越多的公司采用微服务架构解决上面提到的单体架构中的问题。不同于构建单一、庞大的应用,微服务架构将应用拆分为一套小且互相关联的服务。
本文来源于:奈学开发者社区,如有侵权,请联系我删除~

相关文章
|
4月前
|
存储 监控 微服务
微服务和单体架构是两种不同的软件架构风格
微服务和单体架构是两种不同的软件架构风格
52 1
|
6月前
|
数据管理 测试技术 API
如何从单体架构迁移到微服务架构:挑战和最佳实践
如何从单体架构迁移到微服务架构:挑战和最佳实践
124 0
|
4月前
|
存储 监控 微服务
微服务和单体架构是两种不同的软件架构风格,每种都有其自身的优缺点
【1月更文挑战第1天】微服务和单体架构是两种不同的软件架构风格,每种都有其自身的优缺点
54 0
|
6月前
|
JSON Go 数据库
Golang微服务框架居然可以开发单体应用?—— Kratos单体架构实践
微服务框架也是可以用于开发单体架构(monolith architecture)的应用。并且,单体应用也是最小的、最原始的、最初的项目状态,经过渐进式的开发演进,单体应用能够逐步的演变成微服务架构,并且不断的细分服务粒度。微服务框架开发的单体架构应用,既然是一个最小化的实施,那么它只需要使用到微服务框架最小的技术,也就意味着它只需要用到微服务框架最少的知识点,拿它来学习微服务框架是极佳的。
293 0
|
7月前
|
运维 Java Serverless
深度解析四大主流软件架构模型:单体架构、分布式应用、微服务与Serverless的优缺点及场景应用
深度解析四大主流软件架构模型:单体架构、分布式应用、微服务与Serverless的优缺点及场景应用
471 0
|
4月前
|
前端开发 JavaScript 关系型数据库
深入理解单体架构
深入理解单体架构
44 0
|
4月前
|
Kubernetes Java 数据库
Java性能优化: 什么是微服务架构,与单体架构相比有什么优势?
Java性能优化: 什么是微服务架构,与单体架构相比有什么优势?
59 1
|
5月前
|
分布式计算 数据库 开发者
单体架构
单体架构介绍
47 3
|
5月前
|
敏捷开发 Cloud Native 云计算
微服务与单体架构:争议与未来趋势
随着企业应用程序的不断发展,以及云原生领域的快速发展,架构也在不断地发展和演变。传统的单体架构在开发和部署方面有诸多问题,微服务架构在解决这些问题方面表现出色,已经成为了现代化企业架构的主流,而且微服务和单体架构已成为现代技术领域的焦点议题。但是,微服务架构也存在一些争议,同时也面临着一些未来趋势,以及单体架构的应用,作为开发者,个人觉得这两种架构各有千秋,各有利弊,但是最近技术圈关于这两种架构的关注度引发了不少热烈的探讨和争议。接下来分享一下我对这个问题的看法,以及讨论一下哪种架构更符合未来云的发展趋势。
92 2
微服务与单体架构:争议与未来趋势
|
5月前
|
负载均衡 容灾 应用服务中间件
微服务OR单体架构
微服务OR单体架构 争议