CN112882792B - 信息加载方法、计算机设备及存储介质 - Google Patents
信息加载方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112882792B CN112882792B CN202110170184.6A CN202110170184A CN112882792B CN 112882792 B CN112882792 B CN 112882792B CN 202110170184 A CN202110170184 A CN 202110170184A CN 112882792 B CN112882792 B CN 112882792B
- Authority
- CN
- China
- Prior art keywords
- information
- container
- memory
- cluster
- port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种信息加载方法、计算机设备及存储介质。其中,信息加载方法包括:监测到容器上部署有服务后,调用部署在容器上的钩子函数;容器启动后,获取容器通过钩子函数上报的集群信息、IP信息及端口信息;保存集群信息、IP信息及端口信息;将IP信息及端口信息加载到内存中,以便于网络侧用户请求容器上部署的服务时,能利用内存中存储的IP信息及端口信息将请求发送到容器上。本申请提供的技术方案,相比早期的容器环境架构,减少了第二层负载均衡的转发,减少了请求链路,进而减少了用户的访问耗时,从而提高了用户的访问效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种信息加载方法、计算机设备及存储介质。
背景技术
目前,用户在访问域名时,访问流程如图1所示,用户访问**.**.com域名,域名的别名(cname)在实现跳转时,将域名解析到负载均衡(SLB)地址,SLB后挂载着多个服务器(nginx)节点,nginx将请求通过SLB转发到容器(pod)对应的IP和端口(服务)上。由于pod的IP是经常会发生变化,在部署每个pod的时候给每个pod标定唯一的标签,SLB通过虚拟服务器组关联相应的pod的标签,这样SLB与相应的pod就通过标签的绑定存在了固定的关联关系,由此pod的IP变化不会对用户的访问产生影响。
但现有的在容器环境nginx架构下,容器通过SLB绑定容器的方案需要经过两次SLB的转发,请求链路较长,使得用户访问耗时较长。
发明内容
为解决或改善现有技术中存在的问题,本申请各实施例提供了一种信息加载方法、计算机设备及存储介质。
在本申请的一个实施例中,提供了一种信息加载方法。该方法,包括:
监测到容器上部署有服务后,调用部署在所述容器上的钩子函数;容器启动后,获取容器通过钩子函数上报的集群信息、IP信息及端口信息;保存集群信息、IP信息及端口信息;将IP信息及端口信息加载到内存中,以便于网络侧用户请求容器上部署的服务时,能利用内存中存储的IP信息及端口信息将请求发送到容器上。
进一步地,信息加载方法还包括:
在容器不能对外提供服务时,获取容器通过钩子函数上报的集群信息、IP信息及端口信息;将保存的集群信息标记为第一状态;再次将IP信息及端口信息加载到内存中。
进一步地,信息加载方法还包括:
在容器恢复能对外提供服务时,获取容器通过钩子函数上报的集群信息、IP信息及端口信息;将保存的集群信息标记为第二状态;再次将IP信息及端口信息加载到内存中。
进一步地,信息加载方法还包括:
监测到部署平台上有新建集群信息的事件后,获取新建的集群信息、注册域名、容器的IP信息及端口信息;保存注册域名、集群信息、容器的IP信息及端口信息;将IP信息及端口信息加载到内存中。
进一步地,调用部署在容器上的钩子函数,包括:
获取配置文件;执行配置文件,以从容器的镜像的文件中调用钩子函数。
进一步地,在部署平台上,注册域名能被执行增加、删除、修改、查询操作;其中,部署平台包括:测试环境部署平台和线上部署平台。
进一步地,IP信息及端口信息以key/value的形式加载到内存中。
进一步地,集群信息至少包括:集群名、模块名、端口、容器的环境、容器的名称及容器的IP。
在本申请的另一实施例中,提供了一种计算机设备。该计算机设备,包括:至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行以上所述的信息加载方法。
在本申请的再一实施例中,提供了一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行以上所述的信息加载方法。
本申请各实施例提供的技术方案,在监测到容器上部署有服务后,在容器上部署钩子函数;容器启动后,获取容器通过钩子函数上报的集群信息、IP信息及端口信息;保存集群信息、IP信息及端口信息;将IP信息及端口信息加载到内存中,以便于网络侧用户请求容器上部署的服务时,能利用内存中存储的IP信息及端口信息将请求发送到容器上。本申请提供的技术方案,相比早期的容器环境架构,减少了第二层负载均衡的转发,减少了请求链路,进而减少了用户的访问耗时,从而提高了用户的访问效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的传统方案中访问域名的流程示意图;
图2为本申请一实施例提供的另一访问域名的流程示意图;
图3为本申请一实施例提供的信息加载方法的流程示意图;
图4为本申请一实施例提供的信息加载装置的结构示意图;
图5为本申请一实施例提供的计算机设备的结构示意图;
图6为本申请一实施例提供的动态加载系统的局部示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。此外,下文描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在详细说明本申请实施例之前,先介绍一下本申请实施例中可能涉及的技术术语:
kubernetes:是一个部署和管理容器化的应用软件系统,使用kubernetes能够方便对容器进行调度和编排。对应用开发者而言,可以把kubernetes看成一个集群操作系统。kubernetes提供服务发现、伸缩、负载均衡、自愈甚至选举等功能,让开发者从基础设施相关配置等解脱出来。
nginx:是一个高性能的和web服务器;nginx作为负载均衡服务, 既可以在内部直接支持 rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP对外进行服务。
SLB:Server Load Balancer(负载均衡)的简称,是阿里云计算提供的一种网络负载均衡服务。负载均衡是将访问流量根据转发策略分发到后端多台云服务器(ElasticCompute Service,简称 ECS)的流量分发控制服务 Load Balancer代表SLB一个实例,就是把接收到的请求按照规则策略转发到后面的服务器上,接收转发这一动作。
pod:容器,是构建各类工作负载的最基本模块,也是用户可以创建和部署的最小单元。在kubernetes中,pod是最基本的操作单元,也是用户应用运行的载体。pod封装了运行应用程序的容器、存储资源、网络地址以及控制容器如何运行的各种配置。实际上,整个kubernetes系统的设计都是以pod为基础展开的。
ECS:是弹性云服务器,Elastic Cloud Server的简称,可随时自助获取、可弹性伸缩的云服务器,帮助用户打造可靠、安全、灵活、高效的应用环境
cname:是域名的别名,cname跳转是利用cname别名记录设置域名跳转,是把某个域名解析到另外一个域名对应的某个IP的空间中。
consul:是一种开源工具,用于实现分布式系统的服务发现与配置。 consul是分布式的、高可用的、可横向扩展的。它具备以下特性:service discovery:consul通过DNS或者HTTP接口使服务注册和服务发现变的很容易,一些外部服务,例如saas提供的也可以一样注册。
yaml:是一个可读性高,用来表达数据的格式。
upsync:是基于nginx实现动态配置的三方模块。nginx-upsync-module的功能是拉取consul的后端server的列表,并动态更新nginx的路由信息。此模块不依赖于任何第三方模块。
图2示出了本申请实施例提供的另一访问域名的流程示意图。图3示出了与图2的访问域名流程相对应的信息加载方法的流程示意图。下面结合图2与图3对信息加载方法的流程进行详细阐述。如图3所示,该信息加载方法包括:
301、监测到容器上部署有服务后,调用部署在所述容器上的钩子函数;
302、容器启动后,获取容器通过钩子函数上报的集群信息、IP信息及端口信息;
303、保存集群信息、IP信息及端口信息;
304、将IP信息及端口信息加载到内存中,以便于网络侧用户请求容器上部署的服务时,能利用内存中存储的IP信息及端口信息将请求发送到容器上。
上述步骤301,部署的服务为网络服务,网络服务有对应的具体网址;钩子函数(接口)可以为ks8-hook函数,本实施例中,在容器打包成镜像的阶段,会将提前编写的钩子函数埋入到容器的镜像文件中。
在一可实现方式中,调用部署在容器上的钩子函数,具体包括以下步骤:获取配置文件;执行配置文件,以从容器的镜像的文件中调用钩子函数。其中,配置文件可以为镜像的yaml文件。
上述步骤302,是在容器部署完成,并成功启动后,触发钩子函数向动态加载模块上报集群信息、IP信息及端口信息;同时保存集群信息、IP 信息及端口信息。其中,集群信息至少包括:集群名、模块名、端口、容器的环境、容器的名称及容器的IP。
在本申请实施例中,若容器不能对外提供服务时,获取容器通过钩子函数上报的集群信息、IP信息及端口信息;将保存的集群信息标记为第一状态;再次将IP信息及端口信息以key/value的形式加载到内存中。其中,第一状态为下线状态。
在一可实现方式中,将IP信息及端口信息加载到内存中具体可包括一下步骤:集群信息、容器的IP及端口信息通过钩子函数(k8s-hook函数)上报至动态加载模块;动态加载模块接收到上报的集群信息、IP信息及端口信息后,对其进行存储;以及通过动态加载模块提供的接口将IP信息及端口信息存储于consul集群模块中;并调用consul的接口将容器的集群信息、IP及端口信息以key/value的形式加载至内存中。
进一步地,在容器恢复能对外提供服务时,获取容器通过钩子函数上报的集群信息、IP信息及端口信息;将保存的集群信息标记为第二状态;再次将IP信息及端口信息加载到内存中。其中,将IP信息及端口信息以key/value的形式加载到内存中的过程与上一实现方式中的加载过程相同,此处不再赘述。
进一步地,在监测到部署平台上有新建集群信息的事件后,本申请的信息加载方法还包括:获取新建的集群信息、注册域名、容器的IP信息及端口信息;保存注册域名、集群信息、容器的IP信息及端口信息;将IP信息及端口信息以key/value的形式加载到内存中。其中,将IP信息及端口信息加载到内存中的过程与上一实现方式中的加载过程相同,此处不再赘述。
本申请的动态加载系统中包含有部署平台,在部署平台上,注册域名能被执行增加、删除、修改、查询操作;其中,部署平台包括:测试环境部署平台(qa部署平台)和线上部署平台(djoyx部署平台),在该动态加载系统中,qa部署平台和djoyx部署平台可以实现通信连接。
图6为动态加载系统的局部示意图,下面结合图6及具体场景,对域名的访问过程进行详细阐述。
以访问**.**.com为例,具体过程如下:
(1)用户在部署平台新建集群信息后,通过动态加载的核心代码提供的接口来注册域名、IP信息和端口信息。
(2)动态加载系统将注册的域名信息存储到数据库(MySQL)中,同时对于注册的IP信息及端口信息(新注册的有个缺省IP,此时IP不对外提供服务,因为用户还没开始部署服务),以key/value形式保存在consul集群模块中,consul集群模块调用nginx的upsync模块,动态地将pod的IP信息及端口信息加载到内存中。
(3)当用户开始部署服务后,在容器中的镜像的yaml配置文件中埋入钩子功能,当pod启动后,通过钩子上报集群信息、IP信息及端口信息到动态加载模块的接口;动态加载核心接口将新部署的IP信息及端口信息保存到consul集群模块中,consul集群模块调用nginx的upsync模块,动态的将pod的IP信息及端口信息加载到内存中。
(4)pod的漂移包括:上线状态和下线状态。
A:当前pod下线时,容器中埋入了k8s-hook函数,在pod下线前会上报pod的集群信息、IP信息及端口信息到动态加载模块的接口;同上,动态加载模块的接口将下线的pod的集群信息标记为下线状态,并同步集群信息到consul集群模块中,consul集群模块调用nginx的upsync模块,动态地将pod的IP信息及端口信息加载到内存中,此时这个pod已经不对外提供服务了。
B:k8s master会重新拉起下线的节点,当前pod重新恢复上线状态。同样的,通过k8s-hook函数上报pod的上线状态的信息,最终nginx将这个节点置为上线状态,开始对外提供服务。
本申请实施例提供的技术方案,在监测到容器上部署有服务后,在容器上部署钩子函数;容器启动后,获取容器在启动后通过钩子函数上报的集群信息、IP信息及端口信息;保存集群信息、IP信息及端口信息;将IP信息及端口信息以key/value的形式加载到内存中,以便于网络侧用户请求容器上部署的服务时,能利用内存中存储的IP信息及端口信息将请求发送到容器上。本方案相比早期的容器环境nginx架构,减少了第二层SLB的转发,nginx可直接将请求转发到对应的pod上,减少了请求链路,进而减少了用户的访问耗时,从而提高了用户的访问效率。
此外,本申请实施例提供的技术方案,还解决了容器上线发布和容器漂移过程中,pod的IP发生变化的问题;其次,利用kubernetes的钩子函数功能,解决了pod信息上报问题,通过编写动态加载核心接口代码,将钩子函数上报的信息进行处理,并调用upsync模块来实现动态将nginx路由信息加载到内存中;再次,打通了线下部署平台和线上部署平台,使得用户能够在创建完consul集群模块后,可一键创建域名及自动化。
图4示出了本申请一实施例提供的信息加载装置的结构示意图。如图4所示,所述装置包括:
部署模块401,用于监测到容器上部署有服务后,调用部署在容器上的钩子函数;
获取模块402,用于容器启动后,获取容器在启动后通过钩子函数上报的集群信息、IP信息及端口信息;
保存模块403,用于保存集群信息、IP信息及端口信息;
加载模块404,用于将IP信息及端口信息加载到内存中,以便于网络侧用户请求容器上部署的服务时,能利用内存中存储的IP信息及端口信息将请求发送到容器上。
进一步地,获取模块402,还用于在容器不能对外提供服务时,获取容器通过钩子函数上报的集群信息、IP信息及端口信息;相应的,保存模块403,还用于将保存的集群信息标记为第一状态;相应的,加载模块304,还用于再次将IP信息及端口信息加载到内存中。
进一步地,获取模块402,还用于在容器恢复能对外提供服务时,获取容器通过钩子函数上报的集群信息、IP信息及端口信息;相应的,保存模块403,还用于将保存的集群信息标记为第二状态;相应的,加载模块404,还用于再次将IP信息及端口信息加载到内存中。
进一步地,获取模块402,还用于监测到部署平台上有新建集群信息的事件后,获取新建的集群信息、注册域名、容器的IP信息及端口信息;相应的,保存模块403,还用于保存注册域名、集群信息、容器的IP信息及端口信息;相应的,加载模块404,还用于将IP信息及端口信息加载到内存中。
进一步地,部署模块401,在用于调用部署在容器上的钩子函数时,具体用于:获取配置文件;执行配置文件,以从容器的镜像的文件中调用钩子函数。
进一步地,在部署平台上,注册域名能被执行增加、删除、修改、查询操作;其中,部署平台包括:测试环境部署平台和线上部署平台;
进一步地,IP信息及端口信息以key/value的形式加载到内存中。
进一步地,集群信息至少包括:集群名、模块名、端口、容器的环境、容器的名称及容器的IP。
这里需要说明的是:上述实施例提供的信息加载装置可实现上述方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
图5示为本申请再一实施例提供的计算机设备的结构示意图。如图5所示,该计算机设备包括:存储器50a和处理器50b;其中,存储器50a,用于存储计算机程序。
处理器50b耦合至存储器50a,用于执行计算机程序以用于:监测到容器上部署有服务后,调用部署在容器的钩子函数;容器启动后,获取容器在启动后通过钩子函数上报的集群信息、IP信息及端口信息;保存集群信息、IP信息及端口信息;将IP信息及端口信息加载到内存中,以便于网络侧用户请求容器上部署的服务时,能利用内存中存储的IP信息及端口信息将请求发送到容器上。
在一些可选实施方式中,如图5所示,该计算机设备还可以包括:通信组件50c、电源组件50d、显示屏50e、音频组件50f等可选组件。图5中仅示意性给出部分组件,并不意味着计算机设备必须包含图5所示全部组件,也不意味着计算机设备只能包括图5所示组件。
这里需要说明的是:本实施例提供的计算机设备可实现上述图2所述的方法实施例中描述的技术方案,此处不再赘述。
本申请又一实施例提供了存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行图3方法实施例中所述的信息加载方法,此处不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程坐标确定设备的处理器以产生一个机器,使得通过计算机或其他可编程坐标确定设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程坐标确定设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程坐标确定设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (8)
1.一种信息加载方法,其特征在于,包括:
监测到容器上部署有服务后,调用部署在所述容器上的钩子函数;
所述容器启动后,获取所述容器通过所述钩子函数上报的集群信息、IP信息及端口信息;
保存集群信息、IP信息及端口信息;
将所述IP信息及端口信息加载到内存中,以便于网络侧用户请求所述容器上部署的服务时,能利用所述内存中存储的IP信息及端口信息将所述请求发送到所述容器上;
所述信息加载方法还包括:
监测到部署平台上有新建集群信息的事件后,获取新建的所述集群信息、注册域名、所述容器的IP信息及端口信息;
保存所述注册域名、所述集群信息、所述容器的IP信息及端口信息;
将所述IP信息及端口信息加载到内存中;
在部署平台上,所述注册域名能被执行增加、删除、修改、查询操作;其中,所述部署平台包括:测试环境部署平台和线上部署平台。
2.根据权利要求1所述的信息加载方法,其特征在于,所述信息加载方法还包括:
在所述容器不能对外提供服务时,获取所述容器通过所述钩子函数上报的所述集群信息、IP信息及端口信息;
将保存的所述集群信息标记为第一状态;
再次将所述IP信息及端口信息加载到内存中。
3.根据权利要求2所述的信息加载方法,其特征在于,所述信息加载方法还包括:
在所述容器恢复能对外提供服务时,获取所述容器通过所述钩子函数上报的所述集群信息、IP信息及端口信息;
将保存的所述集群信息标记为第二状态;
再次将所述IP信息及端口信息加载到内存中。
4.根据权利要求1所述的信息加载方法,其特征在于,调用部署在所述容器上的钩子函数,包括:
获取配置文件;
执行所述配置文件,以从所述容器的镜像的文件中调用所述钩子函数。
5.根据权利要求4所述的信息加载方法,其特征在于,
所述IP信息及端口信息以key/value的形式加载到内存中。
6.根据权利要求1-5中任一项所述的信息加载方法,其特征在于,
所述集群信息至少包括:集群名、模块名、端口、所述容器的环境、所述容器的名称及所述容器的IP。
7.一种计算机设备,其特征在于,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序;所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行权利要求1-6中任一项所述的信息加载方法中的步骤。
8.一种存储有计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求1-6中任一项所述的信息加载方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110170184.6A CN112882792B (zh) | 2021-02-03 | 2021-02-03 | 信息加载方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110170184.6A CN112882792B (zh) | 2021-02-03 | 2021-02-03 | 信息加载方法、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112882792A CN112882792A (zh) | 2021-06-01 |
CN112882792B true CN112882792B (zh) | 2022-12-13 |
Family
ID=76056005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110170184.6A Active CN112882792B (zh) | 2021-02-03 | 2021-02-03 | 信息加载方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112882792B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986387A (zh) * | 2021-10-28 | 2022-01-28 | 上海米哈游璃月科技有限公司 | 项目配置信息的加载方法、装置、电子设备及存储介质 |
CN114500537A (zh) * | 2022-03-24 | 2022-05-13 | 杭州博盾习言科技有限公司 | 容器服务的访问方法、系统、存储介质及电子设备 |
CN115329343B (zh) * | 2022-08-23 | 2023-04-07 | 武汉能量云计算科技有限公司 | 一种信息安全漏洞的处理方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844000B (zh) * | 2016-12-21 | 2020-11-20 | 北京大学 | 一种多用户环境下利用浏览器访问Linux容器集群的方法和装置 |
CN107562472B (zh) * | 2017-08-24 | 2020-04-28 | 四川长虹电器股份有限公司 | 基于docker容器的微服务系统及方法 |
CN109032760A (zh) * | 2018-08-01 | 2018-12-18 | 北京百度网讯科技有限公司 | 用于部署应用的方法和装置 |
CN111984396A (zh) * | 2019-05-24 | 2020-11-24 | 上海擎感智能科技有限公司 | 一种高可用网络架构的负载均衡方法、系统、介质及设备 |
CN110704158A (zh) * | 2019-09-23 | 2020-01-17 | 凡普数字技术有限公司 | 在容器集群内转发访问请求的方法、装置以及存储介质 |
CN111246397B (zh) * | 2020-01-19 | 2022-05-06 | 阿里巴巴集团控股有限公司 | 集群系统、服务访问方法、装置及服务器 |
CN112187958A (zh) * | 2020-11-11 | 2021-01-05 | 北京金和网络股份有限公司 | 微服务注册、发现转发的方法及装置 |
-
2021
- 2021-02-03 CN CN202110170184.6A patent/CN112882792B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112882792A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112882792B (zh) | 信息加载方法、计算机设备及存储介质 | |
US10452372B2 (en) | Method and deployment module for managing a container to be deployed on a software platform | |
US10303450B2 (en) | Systems and methods for a policy-driven orchestration of deployment of distributed applications | |
CN102868736B (zh) | 一种云计算监控框架设计及实现方法及云计算处理设备 | |
US11163669B1 (en) | Measuring test coverage during phased deployments of software updates | |
CN113296927A (zh) | 服务网格实例的构建方法、服务网格系统以及多集群系统 | |
CN106663033B (zh) | 在事务中间件机器环境支持绕域和代理模型并更新服务信息以跨域消息传送的系统和方法 | |
CN111787126B (zh) | 容器创建方法、服务器及存储介质 | |
US10313282B1 (en) | Flexible middleware messaging system | |
CN108282507B (zh) | 在CaaS环境中进行应用发布的方法、装置以及电子设备 | |
CN114205342B (zh) | 服务调试的路由方法、电子设备及介质 | |
CN111124589B (zh) | 一种服务发现系统、方法、装置及设备 | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
US20190372835A1 (en) | Private network mirroring | |
US11531526B1 (en) | Creating portable serverless applications | |
CN117112122A (zh) | 一种集群部署方法和装置 | |
CN115086166A (zh) | 计算系统、容器网络配置方法及存储介质 | |
US9106676B1 (en) | Grid-based server messaging infrastructure | |
CN114461303A (zh) | 一种访问集群内部服务的方法和装置 | |
US11494184B1 (en) | Creation of transportability container files for serverless applications | |
CN112698930A (zh) | 一种获取服务器标识的方法、装置、设备及介质 | |
WO2024021471A1 (zh) | 一种服务更新方法、装置、系统和存储介质 | |
CN107786352B (zh) | 一种管理网络功能虚拟化管理编排实体的方法和装置 | |
US11513833B1 (en) | Event listener interface for container-based execution of serverless functions | |
US11888943B1 (en) | Use of production traffic to load test a service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |