论文部分内容阅读
随着互联网技术的快速发展,“互联网+”的理念被提出之后受到各行各业的推崇,现如今互联网是推动社会经济发展的巨大动力,为人民的生活带来实质性的变化。随着互联网使用人数的剧增以及对业务需求的不断变化,传统的单体架构无法适应到如此迅速的变化需求,具有很大的局限性并且传统的单体结构代码导致代码耦合严重,业务之间联系紧密,没有很好的可扩展性。因此本文针对单体架构的弊端,设计一个基于微服务架构的在线学习系统。该平台针对的客户群体是互联网工作者,为其提供一个学习互联网技术的学习平台,本系统中提供的主要功能有在线交流功能、后台管理功能、首页展示功能等。论文的主要工作系统的需求分析、系统的设计、服务端开发、系统的测试等。首先,论文对在线教育系统的基本需求进行了详细的分析。论文的需求分析中主要包括两大部分一是基础需求功能,二是业务需求功能。基础的需求功能表示在各个服务中都会使用的功能模块其中的功能有:返回的接口字段定义、文件上传、以及业务分析等功能;业务需求功能表示的是本系统中各个服务中实现的功能。接着,论文进行了整体架构的设计,并对业务需求功能中的各个模块进行了详细设计和实现。在整体架构基础上可将业务需求划分为五大服务,用户登录服务,首页展示服务,讲师管理服务,课程管理服务以及论坛服务。各个服务的设计与实现具体分为服务功能的流程图、服务的数据表的设计、服务中的接口定义、服务中类设计,并对每个功能进行详细的定义具体到模块种所用到的各个类。在系统实现上本论文采用Spring Cloud搭建微服务环境,使用了 Eureka作为服务的注册中心,Spring Cloud Config配置服务器控制配置,Feign进行服务间的调用,Zuul作为服务的网关等组件,并且采用Redis作为非关系数据库,作为缓存层。Kafka作为消息中间件,发布系统消息,并在论坛服务中使用热度排序算法,实时的向用户推荐当下最热门的文章,提高获取资讯的效率。最后,论文对设计系统的基础功能和需求功能进行测试,测试结果有效的验证了微服务的可行性,实现了系统能够满足在线学习的基本需求。