信息加载方法、计算机设备及存储介质技术

技术编号:28672623 阅读:19 留言:0更新日期:2021-06-02 02:48
本申请公开了一种信息加载方法、计算机设备及存储介质。其中,信息加载方法包括:监测到容器上部署有服务后,调用部署在容器上的钩子函数;容器启动后,获取容器通过钩子函数上报的集群信息、IP信息及端口信息;保存集群信息、IP信息及端口信息;将IP信息及端口信息加载到内存中,以便于网络侧用户请求容器上部署的服务时,能利用内存中存储的IP信息及端口信息将请求发送到容器上。本申请提供的技术方案,相比早期的容器环境架构,减少了第二层负载均衡的转发,减少了请求链路,进而减少了用户的访问耗时,从而提高了用户的访问效率。

【技术实现步骤摘要】
信息加载方法、计算机设备及存储介质
本申请涉及计算机
,尤其涉及一种信息加载方法、计算机设备及存储介质。
技术介绍
目前,用户在访问域名时,访问流程如图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:是一个高性能的HTTP和反向代理web服务器;nginx作为负载均衡服务,既可以在内部直接支持rails和PHP程序对外进行服务,也可以支持作为HTTP代理服务对外进行服务。SLB:ServerLoadBalancer(负载均衡)的简称,是阿里云计算提供的一种网络负载均衡服务。负载均衡是将访问流量根据转发策略分发到后端多台云服务器(ElasticComputeService,简称ECS)的流量分发控制服务LoadBalancer代表SLB一个实例,就是把接收到的请求按照规则策略转发到后面的服务器上,接收转发这一动作。pod:容器,是构建各类工作负载的最基本模块,也是用户可以创建和部署的最小单元。在kubernetes中,pod是最基本的操作单元,也是用户应用运行的载体。pod封装了运行应用程序的容器、存储资源、网络地址以及控制容器如何运行的各种配置。实际上,整个kubernetes系统的设计都是以pod为基础展开的。ECS:是弹性云服务器,ElasticCloudServer的简称,可随时自助获取、可弹性伸缩本文档来自技高网
...

【技术保护点】
1.一种信息加载方法,其特征在于,包括:/n监测到容器上部署有服务后,调用部署在所述容器上的钩子函数;/n所述容器启动后,获取所述容器通过所述钩子函数上报的集群信息、IP信息及端口信息;/n保存集群信息、IP信息及端口信息;/n将所述IP信息及端口信息加载到内存中,以便于网络侧用户请求所述容器上部署的服务时,能利用所述内存中存储的IP信息及端口信息将所述请求发送到所述容器上。/n

【技术特征摘要】
1.一种信息加载方法,其特征在于,包括:
监测到容器上部署有服务后,调用部署在所述容器上的钩子函数;
所述容器启动后,获取所述容器通过所述钩子函数上报的集群信息、IP信息及端口信息;
保存集群信息、IP信息及端口信息;
将所述IP信息及端口信息加载到内存中,以便于网络侧用户请求所述容器上部署的服务时,能利用所述内存中存储的IP信息及端口信息将所述请求发送到所述容器上。


2.根据权利要求1所述的信息加载方法,其特征在于,所述信息加载方法还包括:
在所述容器不能对外提供服务时,获取所述容器通过所述钩子函数上报的所述集群信息、IP信息及端口信息;
将保存的所述集群信息标记为第一状态;
再次将所述IP信息及端口信息加载到内存中。


3.根据权利要求2所述的信息加载方法,其特征在于,所述信息加载方法还包括:
在所述容器恢复能对外提供服务时,获取所述容器通过所述钩子函数上报的所述集群信息、IP信息及端口信息;
将保存的所述集群信息标记为第二状态;
再次将所述IP信息及端口信息加载到内存中。


4.根据权利要求1所述的信息加载方法,其特征在于,所述信息加载方法还包括:
监测到部署平台上有新建集群信息的事件后,获取新建的所述集群信息、注册域名、所述容器的IP信息及端口信息;
保存所述注册域名、所述集群信息...

【专利技术属性】
技术研发人员:陈航
申请(专利权)人:天津五八到家货运服务有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1