Kubernetes容器集群下分布式事务解决方案的研究
发布时间:2021-07-26 00:39
随着互联网行业的飞速发展,对技术的要求也越来越高,如12306抢票软件和淘宝商城在高峰时会出现千万级甚至更高的并发量,同时大量的数据也考察着系统的存储能力、查找能力等,对系统的高可用、高并发的要求越来越高。同时软件更新迭代频率越来越频繁,微服务、DevOps、持续交付、动态伸缩等概念相继被提出并得到飞快的发展,云原生的概念也越来越深入人心。云原生并不止简单的将传统的物理服务器上的软件服务转为放到云服务器上去,它从应用的架构、开发、部署和维护的各个方面都提出了改变创新,最终真正的发挥云的弹性、动态调度、自动伸缩等特性。云原生架构和云原生应用所涉及的技术很多,如微服务、容器技术、可持续交付、DevOps等。本文通过Spring Cloud微服务框架、Docker容器化技术和Kubernetes服务编排技术对云原生的核心思想即服务的快速开发和部署进行研究,同时结合容器场景,解决分布式系统在多主机下单机的事务机制无法保证数据的一致性幂等性的问题。首先本文针对微服务系统进行分析,从服务拆分开始,通过使用Spring Cloud框架将传统的单体服务进行拆分,网关使用Zuul网关,注册中心采用Eur...
【文章来源】:浙江理工大学浙江省
【文章页数】:86 页
【学位级别】:硕士
【部分图文】:
图1.1论文整体架构??如图1.1所示本文的主要研宄内容和创新点主要包含以下三个部分:??(1?)基于Spring?Cloud框架完成服务拆分等工作并构建一套微服务系统,为后面的容??
浙江理工大学颐士学位论文?Kubemetes容器集群下分布式事务解决方案的研究??第二章相关技术介绍??随着互联网的飞速发展,云计算技术也已经越来越成熟,企业的IT环境和软件架构也??随着用户和数据的飞速增加在快速的发生变革,由过去的SSH和SSM单体架构方案发展??为如今互联网行业普遍开始使用的微服务架构。基于微服务架构技术,能有效解决大型软??件单体架构带来的研发周期长的问题,能够快速响应用户需求[241。在java领域,Spring框??架一直是行业主流,2013年Spring闭队针对简化xm丨配置文件推出了?Spring?Boot1251,进??一步提升了开发效率。随后Spring开发团队又在2014年底推出Spring?Cloud微服务解决??方案并迅速成为Java领域微服务框架的首选,它集成了丰富的微服务治理组件,包括服务??注册发现、微服务网关、分布式配置、熔断器、智能路由、配置管理等等126]。免去了开发??过程中大量的繁琐的配置丨:作,让开发人员能更加专注于实际业务的开&f271。而随着单休??服务被拆分为多个微服务,并且服务的部署也由将单个war包部署在传统的物理机中转为??多个微服务分别在不同的云服务上进行部署,Docker和Kubernetes容器化和服务编排技术??显得越来越重要,同时多服务间相互调用产生的分布式事务问题也是微服务系统迫切需要??解决的。??2.1微服务架构概述??随着互联网用户及数据的增加,根据各个时代的需求,软件的应用架构实现了从单体??架构、分布式架构、SOA架构到如今广为使用的微服务架构的演进,如图2.1所示。???????图2.1架构发展历程??6??
布式事务解决方案的研宄??2.1.1单体应用架构??单体架构在Java中通常表现为一个三层架构的Java?Web应用,含程序的入丨-_1表现??层Comrollei?、负责业务处理的业务层Service以及负责与数据库进行直接交互的数据访问??层Dao,从Controller层到Service层再到Dao?jii直接以Bcaii的方式进彳丁依赖注入丈现相??互调用,所有的功能都冗杂在一个项目中进行开发,通体开发完毕之后将整个项目打包成??一整个Wat?包部署到Tomcat。分层逻辑如图2.2所示。??蘇层麵1?m2?^?3??业务层?B01?B02?B03??数据访问层?DAOl?DA02?DA03??|?X就i??数据库?TABLE1?TABLE2?TABLE3??图2.2单体架构水平分层逻辑??在数据量和访问压力还没有达到今天规模的情况下单体架构依靠它易于开发、易于测??试及易于部署的优点成为了当时的主流架构方式,开发人员可以在短时间内快速开发出一??套单休应用的web服务。因为不需要进行服务间的接口调用,测试也足相对简中.的,只;/,???开发人员将打包好的程序直接部署在tomcat等服务器中并进行启动即iij'。??可是随着需求的不断提升,单体架构的缺点开始逐渐显露出来,从灵活忡来说,只要??程序有一个地方需要修改,W为中体丨、V:川耦介度过A,都盟等待测试人W迸彳」?个Ifi丨系统的??测试后才能进行重新部署,影响开发效率。其次单体架构的服务性能受到制约,所有的请??求都由该服务进行承担,单个数据痄的压力也很大,丨?1在进行多次迭代后,-个系统会变??得越来越大,会导致启动时间越
【参考文献】:
期刊论文
[1]采用消息队列实现数据一致性方法[J]. 张杰,满曙光,刘凯,周立军. 计算机系统应用. 2019(09)
[2]基于微服务架构的系统设计与应用[J]. 郑冰. 电子技术与软件工程. 2019(17)
[3]基于Spring Cloud和Docker的分布式微服务架构设计[J]. 黄强文,曾丹. 微型电脑应用. 2019(06)
[4]微服务架构的城市照明控制系统服务平台设计[J]. 张玉杰,王轩. 物联网技术. 2019(01)
[5]基于SpringCloud微服务架构的进销存管理系统的设计与实现[J]. 周永圣,侯峰裕,孙雯,杨磊,张小贝. 工业控制计算机. 2018(11)
[6]API网关架构设计实例[J]. 庄夏. 信息系统工程. 2018(05)
[7]基于RocketMQ实现异构数据库同步[J]. 欧志芳. 网络安全技术与应用. 2016(12)
[8]Spring Boot研究和应用[J]. 王永和,张劲松,邓安明,周智勋. 信息通信. 2016(10)
[9]基于Docker技术的容器隔离性研究[J]. 刘思尧,李强,李斌. 软件. 2015(04)
[10]集成消息服务和定时通知的分布式内存数据库[J]. 周京晖. 软件. 2013(01)
硕士论文
[1]基于微服务架构的电商平台的研究与实现[D]. 熊益益.北京邮电大学 2019
[2]基于docker容器的高并发web系统架构设计与实现[D]. 陈文楷.北京邮电大学 2019
[3]基于TCC的分布式事务处理系统的设计与实现[D]. 谢锋.南京大学 2018
[4]基于微服务架构的系统设计与开发[D]. 马雄.南京邮电大学 2017
[5]分布式数据库两阶段提交协议的研究与改进[D]. 陈俊伟.重庆大学 2007
本文编号:3303091
【文章来源】:浙江理工大学浙江省
【文章页数】:86 页
【学位级别】:硕士
【部分图文】:
图1.1论文整体架构??如图1.1所示本文的主要研宄内容和创新点主要包含以下三个部分:??(1?)基于Spring?Cloud框架完成服务拆分等工作并构建一套微服务系统,为后面的容??
浙江理工大学颐士学位论文?Kubemetes容器集群下分布式事务解决方案的研究??第二章相关技术介绍??随着互联网的飞速发展,云计算技术也已经越来越成熟,企业的IT环境和软件架构也??随着用户和数据的飞速增加在快速的发生变革,由过去的SSH和SSM单体架构方案发展??为如今互联网行业普遍开始使用的微服务架构。基于微服务架构技术,能有效解决大型软??件单体架构带来的研发周期长的问题,能够快速响应用户需求[241。在java领域,Spring框??架一直是行业主流,2013年Spring闭队针对简化xm丨配置文件推出了?Spring?Boot1251,进??一步提升了开发效率。随后Spring开发团队又在2014年底推出Spring?Cloud微服务解决??方案并迅速成为Java领域微服务框架的首选,它集成了丰富的微服务治理组件,包括服务??注册发现、微服务网关、分布式配置、熔断器、智能路由、配置管理等等126]。免去了开发??过程中大量的繁琐的配置丨:作,让开发人员能更加专注于实际业务的开&f271。而随着单休??服务被拆分为多个微服务,并且服务的部署也由将单个war包部署在传统的物理机中转为??多个微服务分别在不同的云服务上进行部署,Docker和Kubernetes容器化和服务编排技术??显得越来越重要,同时多服务间相互调用产生的分布式事务问题也是微服务系统迫切需要??解决的。??2.1微服务架构概述??随着互联网用户及数据的增加,根据各个时代的需求,软件的应用架构实现了从单体??架构、分布式架构、SOA架构到如今广为使用的微服务架构的演进,如图2.1所示。???????图2.1架构发展历程??6??
布式事务解决方案的研宄??2.1.1单体应用架构??单体架构在Java中通常表现为一个三层架构的Java?Web应用,含程序的入丨-_1表现??层Comrollei?、负责业务处理的业务层Service以及负责与数据库进行直接交互的数据访问??层Dao,从Controller层到Service层再到Dao?jii直接以Bcaii的方式进彳丁依赖注入丈现相??互调用,所有的功能都冗杂在一个项目中进行开发,通体开发完毕之后将整个项目打包成??一整个Wat?包部署到Tomcat。分层逻辑如图2.2所示。??蘇层麵1?m2?^?3??业务层?B01?B02?B03??数据访问层?DAOl?DA02?DA03??|?X就i??数据库?TABLE1?TABLE2?TABLE3??图2.2单体架构水平分层逻辑??在数据量和访问压力还没有达到今天规模的情况下单体架构依靠它易于开发、易于测??试及易于部署的优点成为了当时的主流架构方式,开发人员可以在短时间内快速开发出一??套单休应用的web服务。因为不需要进行服务间的接口调用,测试也足相对简中.的,只;/,???开发人员将打包好的程序直接部署在tomcat等服务器中并进行启动即iij'。??可是随着需求的不断提升,单体架构的缺点开始逐渐显露出来,从灵活忡来说,只要??程序有一个地方需要修改,W为中体丨、V:川耦介度过A,都盟等待测试人W迸彳」?个Ifi丨系统的??测试后才能进行重新部署,影响开发效率。其次单体架构的服务性能受到制约,所有的请??求都由该服务进行承担,单个数据痄的压力也很大,丨?1在进行多次迭代后,-个系统会变??得越来越大,会导致启动时间越
【参考文献】:
期刊论文
[1]采用消息队列实现数据一致性方法[J]. 张杰,满曙光,刘凯,周立军. 计算机系统应用. 2019(09)
[2]基于微服务架构的系统设计与应用[J]. 郑冰. 电子技术与软件工程. 2019(17)
[3]基于Spring Cloud和Docker的分布式微服务架构设计[J]. 黄强文,曾丹. 微型电脑应用. 2019(06)
[4]微服务架构的城市照明控制系统服务平台设计[J]. 张玉杰,王轩. 物联网技术. 2019(01)
[5]基于SpringCloud微服务架构的进销存管理系统的设计与实现[J]. 周永圣,侯峰裕,孙雯,杨磊,张小贝. 工业控制计算机. 2018(11)
[6]API网关架构设计实例[J]. 庄夏. 信息系统工程. 2018(05)
[7]基于RocketMQ实现异构数据库同步[J]. 欧志芳. 网络安全技术与应用. 2016(12)
[8]Spring Boot研究和应用[J]. 王永和,张劲松,邓安明,周智勋. 信息通信. 2016(10)
[9]基于Docker技术的容器隔离性研究[J]. 刘思尧,李强,李斌. 软件. 2015(04)
[10]集成消息服务和定时通知的分布式内存数据库[J]. 周京晖. 软件. 2013(01)
硕士论文
[1]基于微服务架构的电商平台的研究与实现[D]. 熊益益.北京邮电大学 2019
[2]基于docker容器的高并发web系统架构设计与实现[D]. 陈文楷.北京邮电大学 2019
[3]基于TCC的分布式事务处理系统的设计与实现[D]. 谢锋.南京大学 2018
[4]基于微服务架构的系统设计与开发[D]. 马雄.南京邮电大学 2017
[5]分布式数据库两阶段提交协议的研究与改进[D]. 陈俊伟.重庆大学 2007
本文编号:3303091
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/3303091.html