基于微服务架构的系统设计与开发_马雄.docx
《基于微服务架构的系统设计与开发_马雄.docx》由会员分享,可在线阅读,更多相关《基于微服务架构的系统设计与开发_马雄.docx(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 System Design and Development Based on Micro Service Architecture Thesis Submitted to Nanjing University of Posts and Telecommunications for the Degree of Master of Engineering By Ma Xiong Supervisor: Prof. Cao Shike April 2017 南京邮电大学学位论文原创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和
2、致谢的地方外,论文中不包含其他人已经发表或撰写过 的研究成果,也不包含为获得南京邮电大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 本人学位论文及涉及相关资料若有不实,愿意承担一切相关的法律责任。 研究生学号: _研究生签名: _ 日期 : 南京邮电大学学位论文使用授权声明 本人授权南京邮电大学可以保留并向国家有关部门或机构送交论文的复印件和电子文 档;允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索; 可以采用影印、缩印或扫描等复制手段保存、汇编本学位论文。本文电子文档的内容和纸质 论
3、文的内容相一致。论文的公布(包括刊登)授权南京邮电大学研究生院办理。 涉密学位论文在解密后适用本授权书。 研究生签名: _导师签名: _ 日期 : 近几年来微服务架构异常的火热,以至用来构建微服务的 Netflix、 Dubbo、 Spring Cloud 等产品社区也变得越来越活跃。简而言之,微服务就是将一个完整的应用从数据存储到业务 逻辑开发垂直切分为多个不同的服务,每个服务都具有自己独立的生命周期和服务边界,可 以独立部署、独立维护、独立扩展,服务与服务之间通过统一风格协议的 API 进行相互通信。 与此同时, Docker容器技术的流行也加快了微服务普及的进程。 本文首先研究了微服务架
4、构的基本思路和 Docker 容器技术的核心原理为课题研究作可 行性研究和积累充足的理论和技术基础。接着介绍了现今比较流行的微框架 Spring Boot, 本 课题中所开发的所有服务都是基于 Spring Boot开发的。然后本文选择共享经济中私人公寓和 私家车的产品模型作为业务开发方向,基于 Spring Cloud将系统垂直切分为 4 个独立的业务 服务:产品服务、订单服务、用户服务和公共服务。系统集成 Eureka做服务发现,使用 Zuul 做路由网关,使用Feign做负载均衡,课题项目使用 Docker容器部署所有的服务。 课题根据上述的技术架构使用 Java 语言完整地开发出了整个
5、私人公寓和私家车出租系 统,并顺利地通过了功能和性能测试,基本达到了预期设计。 关键词:微服务 , Spring Boot, Spring Cloud, Docker, Java Abstract In recent years, microservices architecture is exceptionally hot, and even for the construction of micro-service Netflix, Dubbo, Spring Cloud and other product communities have become increasingly acti
6、ve. In short, the micro-service is a complete application from the data storage to the business logic development vertical cut into a number of different services. Each service has its own independent life cycle and service boundaries, and can be independently deployed, independent Maintenance, inde
7、pendent expansion. Services communicate with each other by a unified style and protocol API. At the same time, the popularity of Dockers container technology has also accelerated the process of micro-service popularity. In this paper, the basic idea of the micro service architecture and the core pri
8、nciples of Docker container technology are studied firstly. Then paper introduced the more popular micro-framework Spring Boot, and the subject of all the services developed are based on Spring Boot development. This paper chooses the product model of private apartment and private car in the shared
9、economy as the business development direction. Based on Spring Cloud, the system divided the system into four independent business services: product service, order service, customer service and public service. Using Eureka to do service discovery, using Zuul to do routing gateway, using Feign to do
10、load balancing, and the project used Docker container to deploy all services. Based on the above technical architecture, the entire private apartment and private car rental system was successfully developed using the Java language and successfully passed the functional and performance tests, which b
11、asically achieved the intended design. Key words: Microservices, Spring Boot, Spring Cloud, Docker, Java 目录 会者 i 仑 . 1 1.1 课题的研究背景及意义 . 1 1.2 课题选题依据和来源 . 2 1.3 课题研究的主要内容 . 2 1.4 论文的组织架构 . 3 第二章微服务 . 4 2.1 微服务概述 . 4 2.1.1 微服务概念 . 4 2.1.2 服务的自治性 . 5 2.2 微服务优势 . 5 2.2.1 服务技术异构性 . 5 2.2.2 弹性 . 6 2.2.3 服
12、务的扩展性 . 7 2.2.4 简化部署 . 7 2.3 其他分解技术 . 8 2.3.1 共享库 . 8 2.3.2 模块 . 9 2.4 本章小结 . 9 第三章微框架 spring boot . 10 3.1 spring 框架基础 . 10 3.2 spring boot . 11 3.2.1 Spring Boot 核心酉己置 . 11 3.2.2 Spring Boot 运行原理 . 14 3.3 Spring Boot 企业级开发 . 17 3.3.1 安全控制 Spring Security . 17 3.3.2 批处理 Spring Batch . 21 3.3.3 异步消息
13、 . 21 3.4 本章小结 . 22 第四章 Docker 核心原理 . 23 4.1 Docker 内核知识 . 23 4.1.1 资源隔离 . 23 4.1.2 资源限制 . 25 4.2 Docker 架构概览 . 28 4.2.1 client 模式 . 28 4.2.2 daemon 模式 . 29 4.3 libcontainer . 30 4.3.1 libcontainer 的工作方式 . 30 4.3.2 libcontainer 实现原理 . 31 4.4 本章小结 . 32 第五章业务系统详细设计 . 33 5.1 整体架构设计 . 33 5.2 产品模块设计 . 33
14、 5.2.1 产品搜索 . 34 5.2.2 产品详情 . 35 5.2.3 资源切分 . 38 5.3 订单模块设计 . 38 5.3.1 下单逻辑 . 38 5.3.2 订单详情 . 40 5.3.3 订单管理 . 40 5.4 用户模块设计 . 41 5.4.1 用户注册 . 41 5.4.2 用户登录 . 42 5.4.3 用户点评 . 43 5.5 公共模块设计 . 44 5.5.1 短信模块 . 44 5.5.2 邮件模块 . 45 5.6 本章小结 . 45 第六章基于 Spring Cloud 的微月艮务架构 . 46 6.1 誠 . 46 6.1.1 酉己置服务 . 46 6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 微服 架构 系统 设计 开发 马雄
限制150内