上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.2 单体架构
单体架构的特点是应用程序前后端所有功能模块的代码都打包成一个文件,一般为*.war或*.jar格式,它通常运行在Weblogic、Tomcat等Web应用服务器中,对外提供Web服务。单体架构是一种比较传统的软件架构,如图1-2所示。
图1-2 单体架构
图1-2是单体架构的典型架构图,描述的是订单管理系统的架构。整个应用程序包括前端展示代码(Web UI),审单、开户和发货等订单处理流程模块,以及后台使用单节点Oracle的数据库系统。系统部署在Weblogic应用服务器中,通过部署多个Weblogic实例进行应用的横向扩容,使用Nginx可以做请求的负载均衡。
下面简要介绍单体架构的特点、优点和缺点。
1.2.1 单体架构的特点
(1)所有功能集成在一个工程项目中。
(2)所有功能打包成一个war文件或jar文件。
(3)通过部署应用集群进行应用扩容以提高性能。
1.2.2 单体架构的优点
(1)项目架构简单。
(2)前期开发成本低,周期短。
(3)部署简单。
1.2.3 单体架构的缺点
(1)开发效率低:所有的开发人员在一个项目中编写代码,提交代码容易出现冲突。
(2)代码维护难:各功能代码耦合在一起,新加入的开发人员学习难度较大。
(3)部署不灵活:构建时间长,一旦有任何小的修改必须重新构建整个项目。
(4)稳定性不高:一个很小的问题也可能导致整个应用不可用。
(5)扩展性不足:无法满足高并发情况下业务服务的快速扩容需求。