分布式系统架构
分布式系统架构是指将应用程序的组件分布在多个节点上,每个节点负责一部分应用程序的功能,通过协同工作实现整个程序的功能。这种架构可以提高应用程序的可扩展性和并发处理能力,同时还可以提高应用程序的可用性和容错性。
应用系统架构
本节部署的应用是“新闻内容管理系统v1.0”,包括手机App、新闻网站和管理后台三大功能模块,采用分布式系统架构模式部署。
Nginx既是前端应用服务器,部署手机App移动端应用;同时也是反向代理服务器,将用户对新闻网站与管理后台的请求转发至后端的两台Tocmat应用服务器,后端的Tomcat应用服务器1和2分别部署新闻网站与管理后台两个应用。
MySQL数据库存储所有的系统数据,为各个系统应用模块提供数据存取服务;Apache服务器和MinIO图片服务器用于存储样式表、JS代码和图片等静态资源,MinIO适合存储和管理大规模的非结构化数据,存储新闻图片可以应对日益增长的图片存储需求。

应用系统模块
“新闻内容管理系统v1.0”手机App模块的前端程序采用VUE框架开发,新闻网站和管理后台程序是采用SpringBoot框架开发的Maven聚合项目,有关Maven项目和SpringBoot框架、VUE框架的内容请参考页面右侧“相关阅读”栏目中的文章。
1、前端程序的主要目录如下:
- public:图标、主页等项目静态资源。
- src:项目源代码目录。

2、后端程序是一个Maven的聚合项目,包含三个模块、两个子项目:
- news−web:新闻网站,供web终端用户通过浏览器浏览新闻资讯。
- news−admin:新闻网站管理后台,供作者或编辑进行新闻创作、内容审核。
- news−common:子项目的共用依赖模块,不能独立运行。

3、静态资源包含了系统的样式表、JS代码等,不包含图片。

4、图片目录包含了所有的新闻图片,独立部署在图片服务器上。

5、数据库是一个SQL文件,需要手动创建数据库并导入数据。
