论文部分内容阅读
随着互联网技术的深入发展,数字化校园的概念逐渐深入各大高校,而网上选课系统作为数字化校园的推进工具之一,不仅为学生选课提供便利,也使得学校的教学资源得到更加合理利用。目前网上选课系统已经成为高校教学中不可或缺的一环。经过调研发现,重庆大学现有的选课系统在实际的使用过程中并不理想,常常遇到各种问题,例如选课时段选课服务不可用、学生选课等待时间长、选课成功人数超出课程容量、用户体验差以及学校个性化需求无法得到满足等。为了解决这些问题,在进行相关研究后,本文提出一种基于分布式缓存和分布式消息中间件的技术架构。基于该架构和重庆大学的选课业务,研发出一种高性能的选课系统,解决了现有选课系统服务稳定性差、选课等待时间长等相关问题,为学生和老师提供更好的选课服务。本论文主要做了以下工作:(1)明确项目需求以及技术难点。通过查阅相关文献调研了国内外选课系统的现状,重点分析了重庆大学现有选课系统的使用情况,确定了选课系统中的核心需求,明确了选课系统的技术难点,并对涉及到的核心技术进行简要介绍。(2)针对确定的三个业务难点提出了多种解决方案并逐一分析对比。应用层采用服务器集群、缓存层采用Redis-Sentinel系统、持久层采用Oracle主备模式分别保证系统的高可用,采用基于缓存的分布式锁来保证服务的正确性,采用缓存Redis和消息中间件RocketMQ来提高服务的响应速度。(3)对选课系统的功能进行分析设计并实现。提出了一种基于分布式缓存和分布式消息中间件的技术架构,在该技术架构基础之上,设计并实现了一种高性能的选课系统。(4)分析并设计出合适的测试方法完成系统测试。对研发完成的选课系统分别进行了功能测试和性能测试,针对系统性能设计了多组对比试验进行测试,对测试结果进行分析并得出相关结论。实验结果表明,选课系统基本功能均能正常执行,在分布式缓存和消息中间件的支持下很大程度上提升了选课系统的性能和稳定性。将学生选择一门课程的平均等待时间缩短到2s以内,提升了选课系统的用户体验。