登录

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

注册

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

找回密码

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

基于微服务架构的商城管理系统毕业论文

 2021-12-06 20:44:26  

论文总字数:32069字

摘 要

从2000年开始,国内电子商务进入平稳发展期,电商走进人们生活。随着配套基础设施的完善和人们对网上购物越来越青睐,各大电商迅速发展。随着业务需要扩展和需求变化,电商平台需要进行迭代升级。但传统的单体式应用,有巨大的局限性。在后期业务发展过程中无法对局部模块进行重复部署并且业务功能扩展很麻烦。单体应用架构很难持续交付,改动局部需要重新部署整个应用,等等还有多问题。这将对电商平台的接续发展带来障碍,会耗费大量人力物力财力。微服务架构的出现提供了一种解决方案。

本论文在对电商平台业务进行分析后,采用微服务架构进行电商平台搭建。具体技术利用dubbo配合zookeeper注册中心的RPC框架搭建项目。将电商平台分为五个模块子系统:商品管理子系统,订单管理子系统,促销管理子系统,内容管理子系统,用户管理子系统。最大程度保证各个子系统独立,秉承低耦合高内聚的设计思想。同时利用docker进行部署,减少开发环境和生产环境差异带来麻烦。

本论文最后对基于微服务架构的商城管理系统各业务模块进行测试,测试结果验证了系统的可行性。

关键词:电商管理系统 微服务架构 dubbo docker

Mall management system based on micro-service architecture

Abstract

Since 2000, domestic e-commerce has entered a period of steady development, and e-commerce has entered people's lives.With the improvement of supporting infrastructure and people's growing preference for online shopping, major e-commerce companies are developing rapidly.As the business needs to expand and the demand changes, the e-commerce platform needs to be upgraded iteratively.However, the traditional monomer application has great limitations.In the later business development process, local modules cannot be repeatedly deployed and business function expansion is troublesome.Monomer application architectures are difficult to deliver consistently, changes in parts require redeployment of the entire application, and so on.This will bring obstacles to the continued development of e-commerce platforms and will consume a lot of manpower, material resources and financial resources.The emergence of a microservice architecture provides a solution.

After analyzing the business of e-commerce platform, this paper adopts the micro-service architecture to build the e-commerce platform.The specific technology utilizes dubbo in conjunction with the RPC framework setup project of the zookeeper registry.The e-commerce platform is divided into six sub-modules: commodity management subsystem, order management subsystem, promotion management subsystem, content management subsystem, user management subsystem, statistical analysis and reporting subsystem.Ensure the independence of each subsystem to the greatest extent, adhering to the design idea of low coupling and high cohesion.At the same time, docker is used for deployment to reduce the problems caused by the differences between the development environment and the production environment.

Finally, the paper tests each business interface of the mall management system, and the test results verify the feasibility of the system.This paper provides a way of thinking for the realization of the design and implementation of the e-commerce platform.

Key words: E-commerce management system Microservice architecture docker dubbo

目录

第一章 绪论 5

1.1研究背景 5

1.2研究内容 5

1.3论文结构 5

第二章 系统需求分析及概要设计 7

2.1系统概述 7

2.1.1微服务技术要点 7

2.1.2dubbo框架 7

2.1.3springboot技术 8

2.2需求分析 8

2.2.1功能需求分析 8

2.2.2非功能需求分析、 11

2.3系统概要设计 12

2.3.1系统架构设计 12

2.3.2微服务模块划分 13

2.3.3数据库设计 13

2.4本章小结 24

第三章 系统详细设计与实现 25

3.1业务模块设计与实现 25

3.1.2微服务基础框架功能实现 25

3.1.2用户模块设计与实现 27

3.1.3商品模块设计与实现 29

3.1.4订单模块设计与实现 35

3.1.5营销模块设计与实现 37

3.1.6内容模块设计与实现 38

3.2非功能需求设计与实现 39

3.2.2可靠性 39

3.2.3响应速度 39

3.3系统功能实现 39

3.3.1系统项目框架 39

3.3.2模块名称与端口号 40

3.4 本章小结 40

第四章 系统测试 40

4.1测试目标及环境 40

4.1.1测试目标 40

4.1.2测试环境 40

4.2微服务组件测试 41

4.3业务模块功能测试 42

4.3.1 商品模块服务测试 42

4.3.2用户模块服务测试 53

4.3.3订单模块服务测试 55

4.3.4营销模块服务测试 63

第五章 总结与展望 68

5.1总结 68

5.2未来工作展望 68

参考文献 69

附录 70

致 谢 71

第一章 绪论

1.1研究背景

2008年前后阿里巴巴和京东逐渐发展壮大,线上销售越来越被人们接受的喜爱。电商有着固有的优势:一是相对于传统店铺销售,电商平台商家并不需要实体销售地点,商家只需要向平台注册及缴纳相应费用并经过审核后即可上架商品。节约了一部分成本。二是消费者不需要实地去寻找想要的商品。只需要通过搜索即可获得平台多家店铺销售的同类商品,可以进行比对自行购买。三是电商平台上商家开始经营店铺的风险要小一些。随着社会经济生活的发展,人们更希望拥有方便快捷的购物方式。

关于实现电商平台的技术方面,传统的开发方式是单体式开发,这样开发虽然简单,集中式管理但是不易于项目扩展,并且稳定性也不好,很容易因为一个小问题导致整个系统瘫痪。通过使用微服务开发方式,才分应用,实现敏捷开发和部署。

1.2研究内容

近些年电商平台兴起,相比于传统店铺零售模式电商有很大优势。而电商是网络销售,需要一个商城管理系统。本次研究目标主要是基于微服务架构理念利用springboot和dubbo框架开发项目,再以Docker容器安装与部署并进行测试。

通过springBoot和dubbo框架开发构建基于微服务架构的商城管理系统,构建一个易扩展,稳定性高的系统。同时利用docker部署至云端,docker部署可以减少因为配置环境而带来的其他花销。通过微服务架构可以更好地保证可持续交付。持续交付让程序随时可以发布。

通过对大型应用组件化使在重构和添加功能时保持可发布状态。[[1]]

1.3论文结构

本论文共包括五章,每个章节的内容如下:

第一章是绪论,主要介绍课题“基于微服务的商城管理系统”研究背景和研究内容,还有文章的组织结构。

第二章主要介绍微服务架构,其中包含微服务架构的发展和微服务一些技术要点,以及介绍所使用的微服务框架如dubbo;所使用的开发框架springboot的相关技术;还有包括系统概述、需求分析、系统概要设计。系统主要包括后台管理系统包括:商品管理,订单管理,促销管理,内容管理,权限管理等模块。系统架构设计也是按照各个模块划分的。

微服务模块按照各个功能模块分为mall-xxx-web和mall-xxx-service模块,同时还有mall-api(公共api如bean类和抽象service接口),mall-common-util(公共模块),mall-web-util(web模块的公共工具),mall-service-util(service模块公共工具)。数据库主要通过powerdesinger设计,然后转为sql语言脚本导入数据库。数据库按照各个模块分为多个表。

第三章是系统详细设计与实现,业务模块设计与实现中先搭建基础的服务框架,在项目中按照功能模块划分多个子项目。还有非功能需求设计与实现与系统功能实现。还有其他一些技术如redies缓存,mybatis持久成数据库,pageHelper分页插件,通用mapper等

第四章是系统测试,分为测试目标的确立以及环境的搭建,然后对微服务组件进行测试,在对各个业务模块功能测试进行测试,最后对于性能测试。

第五章 总结与展望,对毕业设计工作的总结与对未来工作的展望,主要是对现有项目有哪些可以改进的地方。

第二章 系统需求分析及概要设计

2.1系统概述

系统名称是基于基于微服务架构的商城管理系统,主要是对于商城后台进行管理运营。基础模块主要是微服务的框架系统,包括服务发现与注册,负载均衡等。业务模块主要分为商品模块、订单模块、内容模块、权限模块,营销管理模块。以满足商城管理人员对于商城的管理运维。

2.1.1微服务技术要点

第一,将大型的单体应用拆分成一系列小服务,每个服务都有一个定义良好的服务边界,通过RPC方式或者消息驱动暴露API。微服务架构模式解决了单体应用代码库在实践中极难模块化的难题,拆分后的微服务能够更快的部署,更易理解和维护!

第二,拆分后的服务可以由各个团队独立开发,使团队更专注于某一个服务。同时在API约定下可以选择适合的技术去实现服务功能。因为各个服务体量小,所以后期在新旧技术变更时也能更方便的去重写和扩展服务。

第三,微服务架构模式使得独立部署成为可能,开发者不需要忙于去协调其他模块的变化。因为基于约定的API,所以各个模块(即服务)之间可以独立部署,耦合度底。

第四,微服务架构模式使得每个服务可以独立的扩展。不同的服务需要的资源不同,如带宽需求、容量需求、计算资源(CPU)需求,在单体应用时因为部署在一个服务器上(在扩展时也只是同一个应用部署在多个机器上),所以为了经济效益只能折中。但在微服务架构中可以将不同微服务部署到不同的服务器上,有效利用资源。[[2]]

其中微服务的拆分是很关键的部分,要尽量满足高内聚低耦合原则。[[3]]

2.1.2dubbo框架

Dubbo框架主要包含:provider用于暴露服务的服务提供方;consumer用于调用远程服务的服务消费方;monitor用于统计服务的调用次数和调用时间的监控中心;register用于服务注册与发现;container用于服务运行的容器;[[4]]

图2.1 dubbo框架图

Dubbo通过RPC实现服务调用,可以和spring框架集成。[[5]]在dubbo框架中利用zookeeper做用户中心。

2.1.3springboot技术

先理解java基础的注解和反射,sping基础的控制反转IOC和面向切面编程。要获取类的方法和字段的注解信息,必须通过java的反射技术来获取Annotation对象。[[6]] Spring最大的目的之一就是使J2EE开发更加容易。同时spring并不是一个单应用,而是一个平台和生态体系,在这个生态体系中可以加入其它单层框架如Hibernate。[[7]]然后有spring MVC,直至现在spring Boot,简化spring应用开发。Springboot能够快速创建基于spring的应用程序;能够使用内嵌的tomcat运行程序;可以很简单的配置maven。可以采用注解来配置,不需要之前xml去配置项目。Springboot可以支持快速地开发出restful风格的微服务脚骨,很适合做微服务。[[8]][[9]]

2.2需求分析

2.2.1功能需求分析

对于基础模块功能分析:服务发现和服务通信。这个主要通过dubbo框架实现,搭配zookeeper实现基础服务。

对业务模块的功能需求分析:功能结构图如下

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

相关图片展示:

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

企业微信

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