本发明专利技术公开了路由更新的方法、装置、设备和计算机可读介质,涉及计算机技术领域。该方法的一具体实施方式包括:数据管理系统扩容或缩容,同步修改容器管理平台的存储中间件中的路由信息;服务器的工作节点进程异步监听所述存储中间件中的路由信息,以更新服务器路由表;基于更新后的服务器路由表,将访问请求路由至扩容或缩容后的数据管理系统。该实施方式减少服务器重载耗时,进而实现路由更新。
【技术实现步骤摘要】
路由更新的方法、装置、设备和计算机可读介质
本专利技术涉及计算机
,尤其涉及一种路由更新的方法、装置、设备和计算机可读介质。
技术介绍
通常情况下,业务(service)和容器(pod)的IP地址仅可在集群内部访问。集群外部的访问请求需要通过负载均衡转发到service在节点(Node)暴露的节点接口上,然后再转发给相关的Pod。而Ingress就是为进入集群的请求提供路由规则的集合。Nginx是一个高性能的HTTP和反向代理web服务器。Nginx一般直接在nginx.conf配置文件里配置上游信息(upstream),即服务的IP地址和服务的统一资源标识符(URI)地址,进而就可以实现路由。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:路由更新涉及变更服务,变更服务需要重载Nginx,Nginx重载耗时较久,导致Nginx的并发能力下降。
技术实现思路
有鉴于此,本专利技术实施例提供一种路由更新的方法、装置、设备和计算机可读介质,减少服务器重载耗时,进而实现路由更新。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种路由更新的方法,包括:数据管理系统扩容或缩容,同步修改容器管理平台的存储中间件中的路由信息;服务器的工作节点进程异步监听所述存储中间件中的路由信息,以更新服务器路由表;基于更新后的服务器路由表,将访问请求路由至扩容或缩容后的数据管理系统。所述更新服务器路由表,包括:更新所述服务器路由表中服务标识的请求统一资源标识符和/或服务框架的IP地址,所述路由信息包括服务标识和服务框架的服务名。所述更新服务器路由表,包括:更新服务器路由表中上游设备标识的请求统一资源标识符和/或服务框架的IP地址,所述路由信息包括上游设备标识和服务框架的服务名。所述服务器的工作节点进程异步监听所述存储中间件中的路由信息,以更新服务器路由表,包括:所述服务器的工作节点进程,异步获取所述路由信息的值;基于所述路由信息的值确定所述存储中间件中的路由信息已改变,则更新服务器路由表。所述基于所述IP地址确定所述存储中间件中的路由信息已改变,包括:基于所述路由信息的值确定所述存储中间件中的路由信息未改变,建立监听时段的长连接;在所述监听时段内,基于所述路由信息的值确定所述存储中间件中的路由信息已改变。所述更新服务器路由表之后,还包括:将更新后的服务器路由表作为备份文件。所述方法还包括:所述服务器的工作节点获取服务器路由表失败,则基于所述备份文件获知服务器路由表。根据本专利技术实施例的第二方面,提供了一种路由更新的装置,包括:同步模块,用于在数据管理系统扩容或缩容,同步修改容器管理平台的存储中间件中的路由信息;异步模块,用于服务器的工作节点进程异步监听所述存储中间件中的路由信息,以更新服务器路由表;控制模块,用于基于更新后的服务器路由表,将访问请求路由至扩容或缩容后的数据管理系统。根据本专利技术实施例的第三方面,提供了一种路由更新的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的方法。根据本专利技术实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述的方法。上述专利技术中的一个实施例具有如下优点或有益效果:数据管理系统扩容或缩容,同步修改容器管理平台的存储中间件中的路由信息;服务器的工作节点进程异步监听所述存储中间件中的路由信息,以更新服务器路由表;基于更新后的服务器路由表,将访问请求路由至扩容或缩容后的数据管理系统。由于无需服务器重载就可以变更服务,从而减少服务器重载耗时,实现路由更新。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的路由更新的方法的主要流程的示意图;图2是根据本专利技术实施例的路由更新的涉及设备的示意图;图3是根据本专利技术实施例的不同路径使用相同服务标识的示意图;图4是根据本专利技术实施例的不同路径使用相同上游设备标识的示意图;图5是根据本专利技术实施例的另一个不同路径使用相同上游设备标识的示意图;图6是根据本专利技术实施例的通过服务标识访问容器的示意图;图7是根据本专利技术实施例的路由更新的交互示意图;图8是根据本专利技术实施例的ETCD的结构示意图;图9是根据本专利技术实施例的更新Nginx路由表的流程示意图;图10是根据本专利技术实施例的worker进程的执行流程示意图;图11是根据本专利技术实施例的master进程的执行流程示意图;图12是根据本专利技术实施例的路由更新的装置的主要结构的示意图;图13是本专利技术实施例可以应用于其中的示例性系统架构图;图14是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。Kubernetes简称K8s,是一个开源的用于管理云平台中多个主机上的容器化的应用。目标是让部署容器化的应用简单并且高效,并提供了应用部署,规划,更新,维护的一种机制。在K8s在动态调整容器Pod进行扩缩容的时候,要对服务信息做变更就必须通过IngressController修改服务器配置文件、然后reload重载服务器才能生效。当配置文件里容器Pod信息非常多的时候,服务器重载会耗时比较久,可以达到几秒甚至十几秒,并且会新增一部分Worker线程用于更新配置导致服务器的并发能力下降。作为一个示例,服务器可以是Nginx。为了解决服务器重载耗时较久的技术问题,可以采用以下本专利技术实施例中的技术方案。参见图1,图1是根据本专利技术实施例的路由更新的方法主要流程的示意图,在存储中间件中存储路由信息,工作节点通过异步监听存储中间中的路由信息实现更新路由信息。如图1所示,具体包括以下步骤:S101、数据管理系统扩容或缩容,同步修改容器管理平台的存储中间件中的路由信息。在本专利技术实施例中,数据管理系统负责软件定义的数据中心管理,提供物理机,虚拟机和容器的统一管理、灵活的网络互连、可靠的块存储。容器管理平台是一个管理云平台中多个主机上的容器化的应用。作为一个示例,容器管理平台是Kubernetes。在本专利技术实施例中,服务框架动态路由主要将服务器本地的配置文件存本文档来自技高网...
【技术保护点】
1.一种路由更新的方法,其特征在于,包括:/n数据管理系统扩容或缩容,同步修改容器管理平台的存储中间件中的路由信息;/n服务器的工作节点进程异步监听所述存储中间件中的路由信息,以更新服务器路由表;/n基于更新后的服务器路由表,将访问请求路由至扩容或缩容后的数据管理系统。/n
【技术特征摘要】
1.一种路由更新的方法,其特征在于,包括:
数据管理系统扩容或缩容,同步修改容器管理平台的存储中间件中的路由信息;
服务器的工作节点进程异步监听所述存储中间件中的路由信息,以更新服务器路由表;
基于更新后的服务器路由表,将访问请求路由至扩容或缩容后的数据管理系统。
2.根据权利要求1所述路由更新的方法,其特征在于,所述更新服务器路由表,包括:
更新所述服务器路由表中服务标识的请求统一资源标识符和/或服务框架的IP地址,所述路由信息包括服务标识和服务框架的服务名。
3.根据权利要求1所述路由更新的方法,其特征在于,所述更新服务器路由表,包括:
更新服务器路由表中上游设备标识的请求统一资源标识符和/或服务框架的IP地址,所述路由信息包括上游设备标识和服务框架的服务名。
4.根据权利要求1所述路由更新的方法,其特征在于,所述服务器的工作节点进程异步监听所述存储中间件中的路由信息,以更新服务器路由表,包括:
所述服务器的工作节点进程,异步获取所述路由信息的值;
基于所述路由信息的值确定所述存储中间件中的路由信息已改变,则更新服务器路由表。
5.根据权利要求4所述路由更新的方法,其特征在于,所述基于所述IP地址确定所述存储中间件中的路由信息已改变,包括:
基于所述路由信息的...
【专利技术属性】
技术研发人员:李明昊,
申请(专利权)人:北京沃东天骏信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。