应用系统架构与模块简介


高并发的概念

在当今互联网时代,随着用户数量的快速增长和系统业务的复杂化,高并发访问成为了大型网站和应用面临的一个重要挑战。高并发指的是系统在同一时间段内处理大量并发请求的能力,它对系统的性能、可扩展性和稳定性提出了更高的要求。

高并发常用的衡量指标包括:响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),每秒事务处理量TPS(Transaction Per Second),并发用户数等。

应用系统架构

本节部署的应用是“新闻内容管理系统v2.0”,包括手机App、新闻网站、管理后台和数据服务四大功能模块,采用分布式系统架构模式部署并做了高并发处理。

新闻网站与管理后台两个应用分别部署在Tomcat应用服务器1和2上,前端采用Nginx做反向代理,由反向代理服务器将用户对新闻网站与管理后台的访问转发至Tomcat应用服务器1和2;手机App的前后端分别部署在Nginx前端应用服务器与Tomcat应用服务器4上,以应对日益增长的移动端访问需求;数据服务模块部署在Tomcat应用服务器3上,位于消息队列与数据库、缓存之间,负责将消息队列中的消息持久化至数据库和缓存中。

MySQL数据库存储所有的系统数据,为四大应用模块提供数据存取服务;Apache服务器和MinIO图片服务器存储样式表、JS代码和图片等静态资源,MinIO适合存储和管理大规模的非结构化数据,存储新闻图片可以应对日益增长的图片存储需求。

Redis数据库用于缓存常用数据和结果,减轻数据库和应用服务器的压力,同时提升数据读取速度。使用RabbitMQ将耗时的操作或复杂的业务逻辑异步化处理,并将结果通过消息队列传递,可以实现解耦和异步化处理,提高系统的并发性能和稳定性。

web

应用系统模块

“新闻内容管理系统v2.0”手机App模块的前端程序采用VUE框架开发,新闻网站、管理后台、手机App后端程序和数据服务是采用SpringBoot框架开发的Maven聚合项目,有关Maven项目和SpringBoot框架、VUE框架的内容请参考页面右侧“相关阅读”栏目中的文章。

1、前端程序的主要目录如下:

  • public:图标、主页等项目静态资源。
  • src:项目源代码目录。
web

2、后端程序是一个Maven的聚合项目,包含五个模块、四个子项目:

  • news−app:手机App后端程序,为前端应用提供数据服务。
  • news−web:新闻网站,供web终端用户通过浏览器浏览新闻资讯。
  • news−admin:新闻网站管理后台,供作者或编辑进行新闻创作、内容审核。
  • news−service:数据服务,连接消息队列与数据库的中间应用。
  • news−common:子项目的共用依赖模块,不能独立运行。
web

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

web

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

web

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

web

发表评论

评论数量:0