登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 计算机科学与技术 > 正文

基于Spring Cloud的云服务架构系统的设计与实现毕业论文

 2021-12-06 08:12  

论文总字数:21582字

摘 要

本论文共分六部分来介绍基于Spring Cloud的云服务架构系统的设计与实现。

第一部分叙述了微服务框架的研究背景和国内外研究现状,同时说明了本文的研究内容。第二部分介绍了本课题使用的相关技术。第三部分介绍了旅行社微服务系统的需求分析,并根据微服务的概念,把本系统的微服务分为三个基础配置微服务和五个业务逻辑微服务。第四部分介绍了这些微服务和前端页面的实现。第五部分对配置部署完成的旅行社微服务系统进行了系统测试,满足了需求,达到了预期设计。第六部分是完成旅行社微服务系统的总结与感悟,以及对微服务的一些展望。

关键字:微服务;Spring Cloud;旅行社

Abstract

This paper is divided into six parts to introduce the design and implementation of cloud service architecture system based on Spring Cloud.

The first part introduces the development background of the microservices framework, analyzes the development status of the microservices framework,and also explains the research content of this article. The second part introduces the related technologies used in this topic. The third part introduces the demand analysis of the travel agency microservice system, and divides the microservices of this system into three basic configuration microservices and five business logic microservices according to the idea of microservices. The fourth part introduces the specific implementation steps of these microservices and front-end pages. The fifth part carries on the system test to the travel agency microservice system after the configuration and deployment. The system met the demand and reached the expected design. The sixth part is to complete the summary and perception of the travel agency's microservice system, as well as some prospects for microservices.

Keywords: Microservice; Spring Cloud; Travel agency

目 录

摘 要 I

第1章 绪论 1

1.1 研究背景 1

1.2 国内外研究现状 1

1.3 研究内容及论文结构 2

第2章 相关技术分析 3

2.1 Spring Boot 3

2.2 Spring Cloud 3

2.3 Git与Github 3

第3章 旅行社微服务系统需求分析与概要设计 4

3.1 旅行社微服务系统架构分析 4

3.2 旅行社微服务系统基础配置微服务需求分析 4

3.2.1服务注册中心 4

3.2.2服务配置中心 4

3.2.3动态路由网关 5

3.3 旅行社微服务系统业务逻辑微服务需求分析 5

3.4 旅行社微服务系统非功能性需求分析 6

3.5 本章小结 6

第4章 旅行社微服务系统详细设计与实现 7

4.1 开发环境与运行环境 7

4.2 旅行社微服务系统架构实现 7

4.3 旅行社微服务系统基础配置微服务实现 8

4.3.1 搭建父工程环境 8

4.3.1 实现服务注册中心 9

4.3.2 实现服务配置中心 11

4.3.3 实现动态路由网关 12

4.4 旅行社微服务系统业务逻辑微服务实现 12

4.4.1数据模型设计 12

4.4.2创建公共资源模块 14

4.4.3实现服务提供者集群 14

4.4.4实现服务消费者 17

4.5 旅行社微服务系统非功能性实现 18

4.5.1Eureka集群和核心业务微服务集群 18

4.5.2完善网关的路由过滤功能 18

4.5.3利用Hystrix实现服务降级和服务熔断 19

4.6 本章小结 20

第5章 旅行社微服务系统测试 21

5.1 基础配置微服务测试 21

5.2 业务逻辑微服务测试 22

5.3 本章小结 26

第6章 总结与展望 27

6.1 本文总结 27

6.2 未来展望 27

参考文献 29

致谢 30

第1章 绪论

1.1 研究背景

微服务是当前热门的系统架构,是在传统架构上迭代升级而来。起初,开发者将交互页面,业务逻辑和数据库操作集成到一个项目里,打包部署。数据访问框架ORM[1]简化了增删改查的工作量,是当时的核心。由于这种架构可伸缩性差,开发者把整个项目分成几个独立的服务,来缓解单节点架构的压力。于是加速开发的Web框架(MVC)[2]成了关键。由于这种架构的服务是独立的,而有时服务之间需要交互,这时开发者将服务部署到不同的计算机上,通过分布式框架(RPC)[3]来进行本地调用和远程调用。随着服务的增加,服务之间的调用更加复杂,开发者对服务进行重新划分,并提供一个统一标准来管理服务之间的调用,达到服务治理的目的。此时关键是资源调度和治理中心(SOA)[4]

正是随着SOA,持续交付,虚拟化[5]和容器技术[6],DevOps[7],分布式系统等众多技术的出现和发展,微服务应运而生[8],为软件行业业务的扩展和维护提供了优秀的解决方案。

微服务提倡把单一应用程序划分成多个小的服务,服务之间互相配合,互相协调,为用户提供最终价值[9]。每个微服务之间相互独立,它们都是非常小的功能单元,之间采用不可知协议(例如REST)通信,共同实现一个业务目标。这些微服务可以独立打包部署,开发者从而可以更加方便的维护和按需扩展。

而近些年出现的Spring Cloud生态架构体系为软件行业提供了微服务架构的一站式的解决方案。Spring Cloud是一系列组件的有序集合[10]。它通过集成不同的组件,可以快速实现微服务的核心功能如服务的注册与发现、服务降级等。

1.2 国内外研究现状

国外方面,ThoughtWorks公司的首席工程师,敏捷开发方法论首创者Martin Fowler曾说:“微服务本质是一种新的架构模式,它的核心理念是把单一应用拆分成一组功能唯一的服务,各个小服务之间互相配合运作,以提供最优质的服务[11]”。国外大型网站系统Netflix[12]首先把项目迁移到微服务架构,其开发团队通过自研的Eureka,Zuul,Hystrix,Feign,Ribbon等一系列组件成功完成微服务框架搭建,给如今的Spring Cloud很大的启发。IBM,Twitter等公司也相继把庞大项目从整体架构迁移到了微服务架构上[13]

国内方面,以阿里巴巴为代表的大型企业带头研发。其技术团队开源了Dubbo框架,能够更加方便的完成服务接口之间的调用。并且在2018年阿里发布了Nacos,能够实现微服务之中的服务注册、服务发现功能。此外,网易也开发了自己的蜂巢微服务架构。所以,我国的微服务技术十分火热并处于高速发展中。

1.3 研究内容及论文结构

本课题基于Spring Cloud实践微服务架构的开发过程,分析其中涉及的关键技术,思考搭建微服务架构中部分难点的解决方案,例如注册中心的集群,远程配置中心的建立,服务与服务之间的调用,服务降级和服务熔断的实现等等。我将着重讨论如何使用Spring Cloud来搭建一个微服务架构的系统,并以旅行社微服务系统作为切入点,实践微服务系统的配置和部署。

论文内容共分为6部分:

(1)介绍微服务框架的研究背景,分析国内外微服务技术的研究现状,概括本课题的研究内容并给出整个论文的结构。

(2)介绍本课题涉及的技术。主要是Spring Boot,Spring Cloud,Git和Github。

(3)对旅行社微服务系统进行需求分析与概要设计,首先分析了微服务系统的基础架构,接着分析本系统的基础配置微服务和业务逻辑微服务,最后分析了本系统的非功能性需求。

(4)对旅行社微服务系统的详细设计与实现。首先介绍了开发环境与运行环境,接着给出了本系统的架构图,然后介绍了基础配置微服务、业务逻辑微服务和非功能性需求的详细设计与实现说明。

(5)对旅行社微服务系统进行了测试。主要对基础配置微服务和业务逻辑微服务做了功能性测试,并对测试结果进行了分析。

(6)对本课题所完成的微服务系统做了总结和展望。总结了本次完成毕业设计过程中的收获与感悟,并提出了未来系统的优化方案,展望以后的工作。

第2章 相关技术分析

2.1 Spring Boot

Spring Boot的设计目的是为了简化Spring框架[14]的运用。Spring框架两大核心概念控制反转和面向切面,简化了系统的开发过程。但Spring在实现这两个核心功能时,需要完成大量的配置。而Spring Boot以“约定大于配置”的理念在Spring的基础上扩展,自动配置Spring。同时嵌入了Tomcat,用户在使用时无需部署war文件。正是由于其诸多优点,开发人员可以使用它来独立开发微服务系统中的一个微服务[15],大大方便了团队协同开发。

2.2 Spring Cloud

Spring Cloud生态架构体系是众多架构的集合。Spring Cloud收纳了很多优秀的组件,通过这些组件,开发者可以快速构建分布式微服务系统[16]。例如,可以使用Spring Cloud Config搭建微服务配置中心,使用Ribbon和Fegin实现负载均衡服务,使用Hystrix熔断器提升微服务容错性能,使用Gateway搭建网关提供动态路由,再配合上基于Spring Boot构建的具体微服务,就可以很容易完成了一个分布式微服务系统。

2.3 Git与Github

Git是版本控制器,我们主要使用它来提交代码到远程git仓库,或者克隆代码到本地仓库。Github是著名的开源平台,提供给用户代码托管服务。本次毕业设计搭建的微服务系统中,配置中心就使用github作为远程仓库。

第3章 旅行社微服务系统需求分析与概要设计

3.1 旅行社微服务系统架构分析

旅行社微服务系统使用了前后端分离技术。旅行社系统的核心是后端,使用基于Spring Cloud的微服务架构,将整个系统划分成四组微服务模块,使用Eureka组件搭建服务注册与发现中心,使用Config搭建旅行社微服务系统的配置中心,基于Spring Boot开发出微服务来组成服务提供方集群和服务消费者,使用Gateway搭建动态路由网关。同时搭配使用Hystrix完成服务熔断,Ribbon和Feign完成服务的负载均衡。前端采用layui框架设计并实现界面。

3.2 旅行社微服务系统基础配置微服务需求分析

旅行社微服务系统基础配置微服务包含服务注册中心,配置中心和动态路由网关。

3.2.1服务注册中心

微服务架构要求把整个系统化成一组组小的服务,这么多的微服务就需要一个服务中心来管理。所以搭建一个服务注册中心来实现服务注册,服务发现是必然的。同时也许需要它来进行一定的负载均衡,分散核心业务的访问压力。

3.2.2服务配置中心

众多的小而微的服务,每个服务都可以单独看作一个小项目,每个服务都有其配置文件,当某一个配置需要更改时,可能需要一个个的服务去更改,当服务数量越多,更改起来就越繁琐,所以搭建一个服务配置中心是必然的,我们使用它来帮助我们管理每个服务的配置文件。

3.2.3动态路由网关

对微服务而言,每个微服务都向外提供接口,供外界调用。直接暴露接口是不明智的,所以需要搭建一套网关服务,通过路由功能,来访问微服务接口,保证了安全性。而且在系统中,我们往往需要对登录用户进行权限验证,也要实现一些过滤的功能,所以搭建一个动态路由网关也是必要的。

3.3 旅行社微服务系统业务逻辑微服务需求分析

旅行社微服务系统分成两个部分:客户端和后台管理系统。客户端给用户使用,需要完成用户登录、用户退出、查看旅游产品、旅游产品订购、我的订单这四个功能。后台管理系统给管理员使用,需要完成管理员登录,管理员退出,查看旅游产品,增加旅游产品,删除旅游产品,更改旅游产品,查看订单,删除订单,处理订单,查看用户,新增用户,删除用户,更改用户信息这些功能。

根据微服务架构的原则,我需要将上述业务拆分成一个个子服务。在对整体需求了然于胸之后,我划分出四个服务提供者,包括账户服务,旅游产品服务,订单服务,用户服务。还有一个服务消费者,共计五个业务微服务。

请支付后下载全文,论文总字数:21582字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图