基于分布式和容器虚拟化的弹性微服务系统及实现方法

文档序号:29857090发布日期:2022-04-30 09:41阅读:来源:国知局

技术特征:
1.一种基于分布式和容器虚拟化的弹性微服务系统,其特征在于,该系统包括业务逻辑层、网络拓扑层和虚拟容器层;所述业务逻辑层作为系统最高层,负责微服务消息收发,逻辑处理和数据存储,以及通过tcp/ip协议与网络拓扑层建立连接,成为网络节点与其他节点进行数据交换;所述网络拓扑层作为系统中间层,负责提供分布式复杂网络拓扑构建支持,以及接收虚拟容器层对外开放端口输入的数据,经过服务注册表查询、负载均衡和网络路由将数据转发至业务逻辑层,并将业务逻辑层处理结果通过路由发送至容器虚拟层,完成消息请求以及响应的完整流程;所述虚拟容器层作为系统底层,负责提供微服务异构节点运行支持,以及对外开放端口连通虚拟容器内部的网络拓扑层和虚拟容器外部以建立与外部的通信链路。2.根据权利要求1所述的弹性微服务系统,其特征在于,所述业务逻辑层包括:逻辑处理模块、数据存储模块和消息处理模块;所述逻辑处理模块用于实现业务逻辑层的业务处理工作,提供自定义编程语言支持,根据实际需求选择合适的编程语言进行业务逻辑的处理;所述数据存储模块用于存储逻辑处理模块产生的临时数据或永久数据,提供自定义数据库支持,根据实际需求选择适当的数据库进行业务处理数据的存储;所述消息处理模块用于接收、发送、编码和解码消息,通过tcp/ip协议与网络拓扑层建立连接并进行数据交换。3.根据权利要求1所述的弹性微服务系统,其特征在于,所述网络拓扑层包括:异步消息队列通信机制、负载均衡机制、服务注册机制、请求/响应模型、发布/订阅模型、管道模型和复合模型;所述异步消息队列通信机制用于通过队列缓存来削弱通信网络可能存在的高并发峰值,设计支持异步通信的消息队列,让网络拓扑层能够使用异步的方式与其他的微服务进行通信;所述负载均衡机制用于集中接收网络拓扑层其他节点对本节点发送的消息,结合评价微服务性能状态指标将消息均衡地转发给同一个微服务的不同实例;所述服务注册机制用于定时监测微服务性能状态指标以及弹性调整微服务实例数量,当系统根据使用场景弹性调整微服务实例数量时,微服务对应的对外提供服务的节点地址的路由信息会主动在服务注册表中注册,当网络拓扑层需要向目标节点发送数据时,根据服务注册机制查询目标节点微服务路由信息;所述请求/响应模型用于建立同一网络拓扑中节点发送和接收消息需要遵循的约束:连接的双方分为客户端和服务端,发送消息的一方为客户端,接收消息、处理消息并对消息作出响应的一方为服务端;客户端发送消息后,在接收到服务器对于该消息的回应之前,不能再次发送消息,服务端则必须先接收消息,在回应该消息之前,不能再次接收消息,具体表现为一问一答的情形;所述发布/订阅模型用于建立同一网络拓扑中节点发送和接收消息需要遵循的约束:在所有建立间接的节点中,负责发送信息的节点称为发布节点,负责接收消息的节点称为订阅节点;在该模型的规则下,消息只能由发布者发布,所有订阅者都会接收到发布者发布的消息,但发布者不能接收订阅者的消息,订阅者也不能向发布者发布消息,发布者和订阅者之间建立单向通信链路;
所述管道模型用于建立同一网络拓扑中节点发送和接收消息需要遵循的约束:所有建立连接的节点,分为三种类型,最初负责产生任务的节点称为生产节点,负责接收任务并处理任务的称为消费节点;生产节点和消费节点之间建立管道模型,消费节点维护一个消息管道:生产节点连接到消费节点的消息管道中,并通过push操作将任务推至消费节点的消息管道远端,消费节点从消费节点的消息管道近端pull操作拉取最新的任务,并开始处理,处理结束后再从管道拉取下一个任务;所述复合模型通过对基本请求/响应模型、发布/订阅模型和管道模型根据实际需求进行组合,用于构建分布式复杂网络拓扑结构。4.根据权利要求3所述的弹性微服务系统,其特征在于,所述微服务性能状态指标包括:单位时间消息处理数、空闲时间占比、内存占用率、网络信道丢包率、cpu占用率和网络连接时延。5.根据权利要求1所述的弹性微服务系统,其特征在于,所述虚拟容器层包括:容器生成模块、镜像构建模块、镜像管理模块和容器虚拟化引擎;所述容器生成模块用于镜像文件实例化,将静态的镜像文件转变为动态运行的虚拟容器,网络拓扑层以及业务逻辑层运行在容器生成模块生成的容器内部,构成独立的运行环境;所述镜像构建模块用于根据规范的构建镜像指令生成镜像文件,负责处理引用镜像、文件拷贝并通过执行构建镜像指令构建独立于宿主节点的静态环境;所述镜像管理模块用于管理所有镜像构建模块生成的镜像,包括镜像更新、镜像获取或镜像删除;所述容器虚拟化引擎作为虚拟容器层的底层支撑,用于对外抽象操作系统以及硬件平台,对内抽象编程语言以及实现核心功能的其他工具。6.根据权利要求5所述的弹性微服务系统,其特征在于,所述镜像管理模块在执行镜像更新、镜像获取或镜像删除时,需要携带具有鉴权信息的令牌发起请求;所述镜像管理模块在收到对于镜像操作的请求时,首先检查该请求是否合法,如果请求没有携带令牌、令牌为伪造的、令牌已经过期或令牌没有执行该操作的权限,那么镜像管理模块将会拒绝执行该请求并返回错误提示;如果该请求通过合法性校验,那么镜像管理模块会根据请求的报文协议执行指定操作。7.一种基于分布式和容器虚拟化的弹性微服务系统的实现方法,其特征在于,该方法具体包括以下步骤:s1:分析微服务核心业务需求,确定合适的编程语言进行业务逻辑层的业务处理实现,确定合适的数据存储工具,对重要的临时或永久数据进行存储,利用编程语言构建消息处理逻辑;s2:根据步骤s1构建的消息处理逻辑,包括消息的接收、发送、编码和解码的具体实现并通过tcp/ip协议加入网络拓扑结构中与其他网络节点进行数据交换;s3:测试微服务核心业务功能的完备性,初步完成微服务核心业务逻辑实现后,加入拓扑网络并与测试节点进行网络连通性测试,核心业务功能测试,数据库连接测试以及消息并发测试;s4:通过步骤s3的核心业务功能的完备性测试后,主动通过服务注册机制向网络拓扑
层注册成为正式的微服务节点,并为后续接收和处理外部传入的消息做好准备;s5:在注册成为正式微服务节点后,进行镜像构建和更新镜像到镜像管理模块,通过容器生成模块将构建的镜像进行实例化部署;s6:服务注册机制定时检测各注册微服务综合单位时间消息处理数、空闲时间占比、内存占用率、网络信道丢包率、cpu占用率和网络连接时延,生成对应微服务性能状态指标;s7:根据步骤s6的微服务性能状态指标,微服务系统弹性调整单一微服务的实例化数量或动态调整合适的网络拓扑结构。8.根据权利要求7所述的基于分布式和容器虚拟化的弹性微服务系统的实现方法,其特征在于,步骤s7中,微服务系统弹性调整的具体步骤如下:s71:服务注册机制微服务性能状态指标,根据负载均衡机制判断当某一微服务的单一实例化对象的性能状态指标是否健康;s72:当微服务性能状态指标为高负荷时,服务注册机制主动向底层容器虚拟层发出请求,请求容器生成模块向镜像管理模块搜索对应微服务构建的镜像文件,并将该镜像文件实例化为具体的微服务容器实例;s73:镜像实例化为具体的微服务容器实例后,服务注册机制将新的微服务容器实例注册后,通过负载均衡机制分担同一微服务不同实例的消息处理压力。

技术总结
本发明涉及一种基于分布式和容器虚拟化的弹性微服务系统及实现方法,属于通信技术领域。该系统包括:业务逻辑层、网络拓扑层和虚拟容器层。其中业务逻辑层由逻辑处理模块、数据存储模块和消息处理模块组成;网络拓扑层由异步消息队列通信机制、负载均衡机制、服务注册机制以及请求/响应模型、发布/订阅模型、管道模型、复合模型组成;虚拟容器层由容器生成模块、镜像构建模块、镜像管理模块和容器虚拟化引擎组成。本发明克服了传统开发模式的性能瓶颈以及扩展弊端;采用分布式网络拓扑结构、服务注册机制结合多种拓扑模型,解决边缘计算节点可能存在的分布式复杂网络拓扑结构部署问题;采用容器虚拟化技术为微服务提供异构节点运行支持。运行支持。运行支持。


技术研发人员:汪建 林锦文 陈庆生 汪金宏
受保护的技术使用者:重庆邮电大学
技术研发日:2022.01.20
技术公布日:2022/4/29
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1