需要金币:![]() ![]() |
资料包括:完整论文 | ![]() |
![]() |
转换比率:金额 X 10=金币数量, 例100元=1000金币 | 论文字数:18593 | ![]() | |
折扣与优惠:团购最低可5折优惠 - 了解详情 | 论文格式:Word格式(*.doc) | ![]() |
摘要:随着近年来高校扩招政策的下发,高校新生数量一年比一年增多,许多高校老旧的选课系统已经不能应对选课时高并发的冲击。而B/S架构的系统由于在传统开发模式下频繁与数据库进行交互,各种线程阻塞得不到释放,从而导致系统的性能下降。常规的解决方案往往是增加高性能服务器和搭建服务器集群。然而选课系统作为一个小型且只在特定时间段开放的系统,购买大量高性能服务器往往是对资源的一直浪费。
针对传统开发模式下选课系统的问题,本文设计的选课系统采用了消息中间件RabbitMQ、缓存技术Redis、Nginx搭建应用服务器负载均衡,并基于分布式锁保证数据读写一致性,进一步压榨服务器性能,节省不必要的资源浪费。
关键词:消息中间件;高并发;B/S架构;Redis;选课系统
目 录
摘 要
Abstract
1 绪论-1
1.1 选题背景和意义-1
1.2 国内外研究现状-1
1.3 本文主要研究内容-2
1.4 论文的整体章节安排-2
2 系统相关技术介绍-4
2.1 开发框架-4
2.1.1 Spring Boot-4
2.1.2 MyBatisPlus-4
2.1.3 Vue.js-4
2.2 分布式缓存与分布式锁-4
2.2.1 Redis-4
2.2.2 Redisson-4
2.3 消息中间件RabbitMQ-4
2.4 Nginx-5
2.5 MySQL-5
2.6 其他关键技术-5
2.6.1 ElasticSearch-5
2.6.2 Shiro-5
2.6.3 EasyExcel-5
2.6.4 Spring Session-6
2.6.5 用到的开源项目-6
3 选课系统需求分析-7
3.1 功能需求分析-7
3.2 非功能需求分析-8
4 选课系统设计-10
4.1 选课系统架构设计-10
4.2 数据库设计-13
5 系统主要模块实现-23
5.1 开发环境和开发工具-23
5.2 前台模块实现-23
5.2.1 选课系统前台模块初始化-24
5.2.2 选课批次与志愿安排-25
5.2.3 前台模块登录-27
5.2.4 查看开课列表实现-29
5.2.5 学生选课流程-32
5.2.6 通识课程检索-40
5.3 后台模块实现-44
5.3.1后台模块的权限管理-45
5.3.2 后台模块登录-46
5.3.3 后台模块的增删改查-48
6 系统测试-51
6.1 测试环境-51
6.2 系统的功能测试-51
6.3 性能测试-56
7 总结与展望-61
参 考 文 献-62
致谢-63 |