更新时间:2020-04-10 来源:黑马程序员 浏览量:
什么单体架构?
在软件设计中,经常提及和使用经典的 3 层模型,即表示层、业务逻辑层和数据访问层。
表示层:用于直接和用户交互,也称为交互层,通常是网页、UI 等。
业务逻辑层:即业务逻辑处理层,例如用户输入的信息要经过业务逻辑层的处理后,才能展现给用户。
数据访问层:用于操作数据库,用户在表示层会产生大量的数据,通过数据访问层对数据库进行读写操作。
虽然在软件设计中划分了经典的 3 层模型,但是对业务场景没有划分。一个典型的单体应用就是将所有的业务场景的表示层、业务逻辑层和数据
访问层放在一个工程中,最终经过编译、打包,部署在一台服务器上。
单体架构图如下所示:
单体架构的优点
部署简单: 由于是完整的结构体,可以直接部署在一个服务器上即可。
技术单一: 项目不需要复杂的技术栈,往往一套熟悉的技术栈就可以完成开发。
用人成本低: 单个程序员可以完成业务接口到数据库的整个流程。
单体架构的缺点
系统启动慢, 一个进程包含了所有的业务逻辑,涉及到的启动模块过多,导致系统的启动、重启时间周期过长;
系统错误隔离性差、可用性差,任何一个模块的错误均可能造成整个系统的宕机;
可伸缩性差:系统的扩容只能只对这个应用进行扩容,不能做到对某个功能点进行扩容;
线上问题修复周期长:任何一个线上问题修复需要对整个应用系统进行全面升级。
猜你喜欢:
java中级程序员学习线路图
Spring Cloud Alibaba技术栈视频教程