[发明专利]一种基于容器的服务多版本共存实现方法有效
申请号: | 201611201295.4 | 申请日: | 2016-12-22 |
公开(公告)号: | CN106789250B | 公开(公告)日: | 2018-09-18 |
发明(设计)人: | 王一帆;丁国洋;何学勇 | 申请(专利权)人: | 焦点科技股份有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/08 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 陈建和 |
地址: | 210003 江苏省南京市高新*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种基于容器的服务多版本共存实现方法,通过在服务端配置多个服务节点,每个服务节点内配置多个容器,每个容器装载不同的服务集,不仅使服务的多个版本共存,也使在服务共存环境中清晰地区分不同服务类型及同一服务类型的不同版本;利用容器区分新、老版本服务,当添加新服务或停止旧服务后,客户端能根据自身的版本自动筛选欲调用的服务版本,并从相应的容器内获得服务调用结果,减少因客户端与调用服务版本不相一致时的人为控制调用;多版本服务的共存使服务应用在升级过程不需要再通过重新启动加载新服务,简化服务升级的繁琐流程,实现分布式环境中的服务热部署。 | ||
搜索关键词: | 一种 基于 容器 服务 版本 共存 实现 方法 | ||
【主权项】:
1.一种基于容器的服务多版本共存实现方法,其特征在于,通过在服务端配置多个服务节点,每个服务节点内配置多个容器,每个容器装载不同的服务集,不仅使服务的多个版本共存,也使在服务共存环境中清晰地区分不同服务类型及同一服务类型的不同版本;利用容器区分新、老版本服务,当添加新服务或停止旧服务后,客户端能根据自身的版本自动筛选欲调用的服务版本,并从相应的容器内获得服务调用结果,减少因客户端与调用服务版本不相一致时的人为控制调用;多版本服务的共存使服务应用在升级过程不需要再通过重新启动加载新服务,简化服务升级的繁琐流程,实现分布式环境中的服务热部署;具体步骤如下:步骤1:环境初始化,(1)服务端内配置多个服务节点,不同服务节点以IP地址和端口号作为唯一识别;(2)服务节点配置多个装载服务集的容器,并为不同容器分配唯一的ID号;(3)服务节点启动,并检查服务集的配置信息,配置信息指明当前需要发布的服务集名称和版本,以及这些服务集在服务节点内如何分配的信息;所述服务集,是业务服务的集合,是业务服务在容器内部署的最小单位;每一次新服务发布前,服务节点要从服务集仓库中下载欲发布的服务集,获取服务集配置信息;服务集由服务集仓库统一管理,服务集仓库提供服务集的上传、下载及版本管理;所述容器,是部署服务集的组件,是用于提供服务集运行的必要环境;所述服务节点,是包含容器的服务应用;一台物理机能部署多个服务节点,一个服务节点内能部署多个容器;步骤2:服务节点运行过程中启动服务节点中的容器,服务节点按照经检查过的服务集配置信息,将各服务集装载入相应的容器中;每个容器仅装载一个服务集,且不同版本的服务集也由不同的容器装载;在服务节点的运行过程中,服务节点能通过启动容器、停止容器、发布服务集的操作,动态地操作容器装载需要发布的服务集或停止正在运行的容器;步骤3:由各个容器启动装载在各自内部的服务集,将服务集中当前需要对外发布的服务注册信息输入服务注册中心,注册消息包含需注册服务的名称、服务版本号、服务所在服务节点的IP地址和端口号,以及服务所在容器的ID号;步骤4:服务注册中心接收到由服务节点内容器发送的服务注册信息后,存储服务注册信息,并提取服务名称、服务版本号、服务所在容器的ID号,并依据黑白名单规则,针对记录在白名单中的客户端,向它推送所有有关该注册服务的服务信息;针对记录在黑名单中的客户端,则拒绝推送;步骤5:客户端接收由服务注册中心发送的服务名称、服务版本号、服务所在容器的ID号和服务所在容器的编号,并将接收到的上述信息缓存至本地,保存在客户端的服务列表中;所述服务列表,存储关于某一项服务的服务名称、服务版本号、服务所在容器的ID号;步骤6:当客户端有服务调用需求时,从本地缓存中获取服务列表,综合考虑客户端调用需求、客户端版本、调用服务的版本及调用服务的当前版本更新情况,在服务列表中进行筛选,确定唯一且合适的装载调用服务的服务节点和容器; 步骤6中,客户端本地缓存有关于某一项服务多个版本的信息,客户端在服务调用过程中,能根据客户端版本和服务调用需求,选择合适的服务版本进行调用;步骤7:客户端根据经步骤6筛选出的服务,将服务的服务名称、服务版本号、服务所在容器的ID号形成服务调用请求,按照服务所在服务节点的IP地址和端口号,将调用请求发送至对应的服务节点处理;步骤8:服务节点接收到服务调用请求后,解析请求内容,获取欲调用服务所在容器的ID号,并根据容器ID号选择该服务所在的容器对服务调用请求进行处理;步骤9:服务节点将服务调用请求发送至步骤8中已选择的容器,由接收调用请求的容器根据请求信息中的服务名称及服务版本号,找到容器中服务集内对应的服务,执行服务并将结果反馈至客户端;步骤10:针对正在运行的服务节点,如欲向服务节点内添加服务集或卸载服务集时,由接收到请求的服务节点根据请求指令执行容器的启动或关闭;在新添服务集和卸载服务集的过程中,以容器隔离新添的服务集与其他服务集、欲卸载的服务集与其他服务集的联系,使客户端对其他容器内的服务集调用不会受到更新和卸载的影响。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于焦点科技股份有限公司,未经焦点科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611201295.4/,转载请声明来源钻瓜专利网。