一种高并发读书交流社区信息管理系统设计方法*

2021-01-22 13:41黄宇豪张天程
数字技术与应用 2020年12期
关键词:静态服务器交流

黄宇豪 张天程

(北方工业大学信息学院,北京 100144)

0 引言

由于近年来互联网的兴起,网络用户规模扩大,微信、天猫和12306等系统的用户访问量迅速增长。因此,高并发服务器端设计十分重要。本文主要利用Go[1-2]、Beego[3]和Nginx负载均衡技术实现高并发的网络访问。文中介绍了读书交流社区系统的设计方法,包括系统框架,模块划分和负载均衡,最后描述了系统的测试情况。

1 系统分析

根据功能需求分析,管理员后台具有修改书籍分类,排序,统计数目,书籍自动采集入库功能。普通用户和个人中心具有显示关注人和粉丝,收藏书籍,个人信息修改,私聊和分享功能。为了达到高可用的部署效果,采用应用服务器和数据服务器分离。同时为了达到自适应屏幕的效果,采用响应式网站设计。

为了达到支持多用户同时在线的效果,系统采用Nginx负载均衡实现高并发访问。Nginx的核心功能是静态资源管理器,且Nginx支持高并发。静态资源一般不会改变,所以在生产中,一个web服务器会使用动态静态资源分离机制,使用Nginx做静态资源的web服务器,访问性能优秀。Nginx以反向代理模式进行负载均衡,策略调度被编译进Nginx内核的有轮询和ip_hash,第三方的有fair、url_hash等。

2 系统设计

2.1 功能模块设计

根据用户和管理权限需要,设置八个模块,每个模块实现对应的功能,如图1所示。

2.2 系统架构设计

阅读交流社区采用MVC架构,如图2所示。模型层负责对核心数据存储,视图层给用户展示容,控制器层实现管理层与用户的交互。

2.3 负载均衡设计

使用Nginx负载均衡技术实现高并发,如图3所示。

图1 功能模块图

该访问结构支持分流策略,且能承受较高的负荷压力,一般可以支持万次并发访问。另一方面,Nginx对网络稳定性要求少,可以通过ping运行负载函数,同时也能够检测内部故障,并通过端口返回反馈信息。我们购买域名并配置DNS服务商,解析域名到服务器,并配置了LNMP环境。通过网络连接数据库服务器和应用服务器,最后部署Nginx负载均衡节点:配置三台服务器,分别在三台服务器上部署同样的Go应用程序,然后使用Nginx实现负载均衡。我们在web面板创建了负载均衡节点,添加了三台后端服务器,都是作为普通节点,权重为1。所有网络访问请求将直接访问Nginx服务接口,然后Nginx负载平衡器选择实际的服务器端口。

3 系统测试

高可用测试:在Nginx服务器配置负载均衡。当关闭任何一个后端应用服务器,或者只保留一个后端应用服务器,网站依然能正常访问。

压力测试:通过Apache命令测试,当发送10000个并发请求时,8080端口访问仍然稳健,测试结果如下。

图2 MVC架构图

图3 Nginx负载均衡结构

4 结语

实验表明,读书交流社区系统的特点在于使用Ngnix负载均衡技术实现系统的高并发访问,支持大量用户同时在线。压力测试结果表明,系统在高并发压力以及一个应用服务器停止工作的情况下也能正常访问。

猜你喜欢
静态服务器交流
如此交流,太暖!
最新进展!中老铁路开始静态验收
加强交流沟通 相互学习借鉴
周樱 两岸交流需要更多“对画”
通信控制服务器(CCS)维护终端的设计与实现
猜猜他是谁
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
具7μA静态电流的2A、70V SEPIC/升压型DC/DC转换器