全文总字数:3963字
1. 研究目的与意义(文献综述)
微服务(microservices)[1]是现在相当热门的架构解决方案。它通过让多个小而职责清晰的服务协同工作来完成业务场景的最终价值交付。[2]微服务架构从本质上说就是分布式架构,它是要开发一种由多个小服务组成的应用。每个服务运行于独立的进程,各个服务之间松耦合,服务与服务之间采用轻量级交互。这些服务具备独立业务能力并可以通过自动化部署方式独立部署。
随着“互联网 ”在2012年11月由易观国际的于扬首次提出以来,互联网带动了社会经济实体的迅速发展。[3]包括微服务在内的各种互联网技术大有用武之地。经过调研,包括旅行商家在内的许多行业的生产平台都采用单体架构(monolithicarchitecture)[4]。单体应用架构将所有的功能集中在一个项目工程中,最终工程被打包成一个jar包或者war包,部署在web容器之中。我们熟悉的mvc设计模式就可视为单体架构。但需求瞬息万变、用户数量逐渐增多、业务的不断变化,建立部署一个大型网站不可避免。大型网站的挑战主要是高并发访问和海量数据存储。[5]单体架构已经很难满足技术大型网站的要求。随着soa、持续交付、虚拟化[6]和容器技术[7]、devops[8]、分布式系统等众多技术出现和发展,微服务应运而生。[9]为行业软件业务的扩展与维护提供了很好的解决方案。
随着微服务架构的兴起,企业it技术架构逐渐开始发生变化,国内出现了一大批微服务技术的探路者。但是很多创业公司想要实现微服务架构体系还要做很多工作,花费成本较大。[10]近些年出现的spring cloud生态架构体系为行业提供了一站式的解决方案。spring cloud是一系列框架的有序集合。它利用spring boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用spring boot的开发风格做到一键启动和部署。给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
2. 研究的基本内容与方案
2.1研究内容本课题基于Spring Cloud的微服务架构,实践微服务架构的开发过程,分析其中涉及的关键技术,思考搭建微服务架构中部分难点的解决方案,例如保证整个系统的可靠性,数据处理过程中的一致性,部署的依赖的版本一致性等等。我将着重讨论如何使用Spring Cloud来搭建一个微服务架构的系统,并结合Maven、Docker容器等技术,实践微服务的配置及其部署。
3. 研究计划与安排
(1)2020/1/13—2019/2/28:确定选题,查阅文献,外文翻译和撰写开题报告;(2)2020/3/1—2019/4/30:系统架构、程序设计与开发、系统测试与完善;(3)2020/5/1—2019/5/25:撰写及修改毕业论文;(4)2020/5/26—2019/6/5:准备答辩。
4. 参考文献(不低于12篇)
[1] sam newman. building microservices. 1 edition. o'reillymedia, february 20, 2015: 1-280.
[2] 王敏.ddd与核心银行系统微服务架构转型[j].中国金融电脑,2020(02):57-63.
[3] 韩辉.信息安全行业“互联网 ”转型的风险及控制研究一一以美亚柏利为例[d].广州:暨南大学,2016.
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。