论文总字数:27200字
摘 要
本文说明了如何使用符合当前流行的微服务架构的Dubbo框架,设计实现了一个简单的分布式电商服务端系统,解决电商行业业务增多带来的系统过于庞大的问题。系统依据微服务架构的思想,将整个系统划分为用户、商品、订单三个模块,每个模块提供不同的服务,每个服务访问不同的资源避免出现阻塞问题。这些服务之间互相协调配合,以完成复杂的业务。持久层使用MyBatis框架辅助开发,提高了持久层的可维护性;在业务逻辑层,通过Dubbo框架支持的远程服务调用,使不同模块之间通过RPC协议进行通信,能够使用另一个模块的服务来完成复杂的业务,以及使用Redis实现缓存机制,提高资源的访问效率的同时利用Redis的机制避免数据资源的丢失;在表现层,统一接口返回的数据格式,使系统可以适应不同的客户端程序。
最后的测试结果表明,基于Dubbo框架的微服务架构应用相比传统单体式应用,更能够解决复杂和大量业务带来的问题,符合电商系统的设计思想和业务要求。
关键词: Dubbo,MyBatis,Redis,微服务架构,服务端应用
ABSTRACT
This project uses the Dubbo framework in line with the current popular micro service architecture to design and implement a simple distributed e-commerce server system to solve the problem that the system is too large due to the increase of e-commerce business. Based on the idea of micro-service architecture, the system divides the whole system into three modules: user, commodity and order. Each module provides different services and each service accesses different resources to avoid blocking problems. These services coordinate with each other to complete complex business. The persistence layer is developed with the help of MyBatis framework, which improves the maintainability of the persistence layer. In the business logic layer, remote service calls supported by Dubbo framework enable communication between different modules through RPC protocol, enable the use of services of another module to complete complex business, and use Redis to achieve caching mechanism, improve access efficiency of resources, and use Redis mechanism to avoid loss of data resources. In the presentation layer, the data format returned by the interface is unified, enabling the system to adapt to different client programs.
The final test results show that the application of micro service architecture based on Dubbo framework is more able to solve the problems caused by complex and large number of businesses than the traditional single application, which conforms to the design ideas and business requirements of e-commerce system.
KEY WORDS: Dubbo, MyBatis, Redis, micro-service architecture, server-side application
目 录
第一章 绪论 1
1.1. 课题背景 1
1.2. 课题内容 1
第二章 相关技术综述 3
2.1. Dubbo框架相关技术 3
2.1.1. 微服务架构是什么 3
2.1.2. 为什么微服务架构会流行 3
2.1.3. 什么是Dubbo框架 4
2.1.4. Dubbo框架的应用场景 6
2.1.5. Zookeeper —— Dubbo框架的注册中心 7
2.2. 其他相关技术 7
2.2.1. Maven 7
2.2.2. SpringBoot 8
2.2.3. MyBatis 8
2.2.4. Redis 8
2.2.5. Shiro 9
第三章 需求分析 10
3.1. 功能需求分析 10
3.2. 模块具体需求分析 10
3.2.1. 用户模块 10
3.2.2. 商品模块 11
3.2.3. 订单模块 11
3.3. 流程图 12
3.3.1. 用户登录流程图 12
3.3.2. 订单查看流程图 12
3.3.3. 订单生成流程图 13
第四章 设计实现 14
4.1. 系统结构和架构设计 14
4.2. 持久层设计 15
4.2.1. E-R图 15
4.2.2. 表结构设计 16
4.2.3. MyBatis框架mapper文件设计 17
4.2.4. MyBatis框架DAO设计 18
4.3. 模块设计实现 18
4.3.1. 用户模块 18
4.3.2. 商品模块 20
4.3.3. 订单模块 21
4.4. Dubbo远程服务设计实现 22
第五章 测试分析 23
5.1. 用户模块测试结果 23
5.2. 商品模块接口测试结果 23
5.3. 订单模块接口测试结果 24
5.4. 分析比较 24
5.4.1. 分布式应用与单体式应用启动时间对比 24
第六章 总结 26
参考文献 27
致 谢 28
- 绪论
- 课题背景
随着经济社会的发展,网络购物已经成为了人们日常生活的一部分,电商行业的经济潜力吸引了无数人的加入,在互联网上也因此出现了许多的网络购物平台。在这样竞争激烈的大环境下,各大电商平台为了拓展业务、提高自身竞争力,在提供基本的购物服务的基础上,又提供了各式各样的服务来吸引用户,例如各种促销活动、相似商品推荐、通过照片识别商品等等。令人眼花缭乱的各式服务在吸引用户的同时,这些服务也使得作为网购媒介的软件系统变得十分庞大和复杂。因此,传统的单体式架构已经无法满足业务的发展需求,于是软件行业的从业者自然而然的开始探寻更适合当代企业级应用的架构。为了减小系统的体积,就会想起分布式系统这个概念,那么为了减小业务的体积,就会考虑将复杂的业务拆分为可以分布在不同服务器上的多个服务,面向服务的思想应运而生。
虽面向服务的思想(SOA)早就被软件从业人员提出并投入应用,但系统和业务越来越复杂,对SOA的粒度要求越来越小,同时对接口的通用性也变高,因此诞生了一个新的概念——微服务。微服务(Microservice)这个名词作为一种概念被正式的提出是2012年,在各大社区都有很高的关注度,也出现了许多争论,有不少人认为微服务架构就是SOA。但不可否认的是,微服务架构的思想非常适合企业级应用的开发和发布。微服务架构提倡的是将划分为服务,通过服务之间的相互协作,来完成复杂的业务逻辑。而且微服务架构中,服务的内聚性高,服务之间耦合性较低,单个服务目的明确,不影响其他服务。因此微服务架构中修改某个服务对其他服务的影响较小,使得开发团队能够加快更新迭代的速度,更符合互联网市场的要求。互联网业内的许多巨头,诸如苹果,eBay和Netflix等,都非常关心微服务架构。目前业界出现了许多根据微服务架构思想设计实现的开源服务框架,其中最具有代表性的就是dubbo和spring cloud,这两个也是其中最具有影响力的。
剩余内容已隐藏,请支付后下载全文,论文总字数:27200字
该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;