基于微服务架构的培训系统的设计与实现
作者单位:武汉轻工大学
学位级别:硕士
导师姓名:管庶安
授予年度:2018年
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:微服务架构 Spring Boot Spring Cloud Spring MVC 培训系统
摘 要:随着软件技术的飞速发展,以及系统规模应用的不断扩大,软件架构从简单的单体架构模式逐渐向微服务架构模式演化,相应的用以构建微服务的Netflix、Dubbo、Spring Cloud等框架产品或社区也逐渐活跃和成熟。相比传统的软件架构模式,微服务架构具有服务独立性、低耦合性、易扩展等架构优点。简而言之,微服务架构就是将一个完整的应用从数据库层垂直拆分为多个不同的服务,每个服务运行于单独的线程,并且每个服务能够独立部署、独立维护、独立扩展,服务与服务之间采用统一风格协议的API进行互相通信。本文设计与实现的培训系统正是采用面向微服务这一架构模式,并结合实习集团公司内部对员工定期培训以满足企业人才储备的实际需求,设计和开发出的一款Web在线培训系统应用。整个系统应用也采用了时下最新、较为成熟的框架技术来完成系统的开发,相对于传统的培训系统应用,本文所开发出的培训系统不仅能够保障系统高效的运行效率,还能确保整体系统的扩展性,同时避免因技术过时或框架的不成熟从而导致系统不可用性。首先,本文对微服务架构的历史发展和现状进行了介绍,并分析了微服务架构相对其它软件架构所拥有的优势以及不足之处。然后对本系统所使用技术的概念、功能等进行了基本介绍,为后续的开发实现做好了技术支撑工作。紧接着根据微服务架构的概念,将整体系统垂直切分为5个独立的微服务:公共微服务、用户微服务、课程微服务、计划微服务和首页微服务,并对相关微服务进行了功能设计、接口设计和数据库设计等工作。最后基于以上研究,对每个微服务的功能进行了实现,并完成前端界面的设计工作,同时给出了相关功能在前端的实现界面。目前本系统已部署到公司内部服务器中,已经顺利通过了功能和性能测试,基本满足了公司需求。各个微服务能够通过Eureka进行注册和发现,同时Zuul也能对请求做负载均衡处理工作,基本达到了预期设计。