云主机信息配置方法技术

技术编号:39419228 阅读:8 留言:0更新日期:2023-11-19 16:08
本申请实施例公开了一种云主机信息配置方法

【技术实现步骤摘要】
云主机信息配置方法、计算机设备及计算机存储介质


[0001]本申请实施例涉及云主机配置领域,具体涉及一种云主机信息配置方法、计算机设备及计算机存储介质。

技术介绍

[0002]集群应用是指在一个集群环境中运行的应用程序,它可以利用集群中的多个计算节点来提高应用程序的性能和可用性。集群应用通常由多个相互协作的进程组成,这些进程可以在不同的计算节点上运行,通过网络进行通信和协作。例如,该集群可以是由部署于不同云环境或者相同云环境的多个云主机组成。
[0003]当集群中发生成员变更事件时,例如有云主机退出集群、有新的计算节点加入成为云主机、云主机变更名称/IP地址/运行状态等事件,此时,为了让集群中其他成员知晓该成员变更事件,需要人员手动对集群中每个云主机的配置文件逐一地更改,并且在更改配置文件后还需重启云主机以便让更改生效。显然,对于拥有大量云主机的集群,这一方式十分繁琐和耗费人力,导致集群的管理和维护变得十分困难,还容易出现配置文件更改错误。

技术实现思路

[0004]本申请实施例提出一种云主机信息配置方法、计算机设备及计算机存储介质,用于在无需人员手动更改配置的情况下实现云主机对集群成员变更事件的动态实时感知。
[0005]本申请实施例第一方面提供了一种云主机信息配置方法,所述方法应用于云环境集群中的云主机,所述方法包括:
[0006]确定针对于多个所述云主机的过滤条件,所述过滤条件携带目标集群的标识,每个所述云主机具有对应的属性数据;
[0007]根据所述过滤条件从多个所述云主机中确定所述属性数据对应于所述目标集群的标识的多个目标云主机,基于所述多个目标云主机获得所述目标集群的当前成员信息;
[0008]获取所述目标集群的历史成员信息,根据所述历史成员信息与所述当前成员信息创建成员变更事件;
[0009]向所述目标云主机发送所述成员变更事件,以使得所述目标云主机基于所述成员变更事件更新本地的配置文件。
[0010]本申请实施例第二方面提供了一种计算机设备,所述计算机设备应用于云环境集群中的云主机,所述计算机设备包括:
[0011]第一确定单元,用于确定针对于多个所述云主机的过滤条件,所述过滤条件携带目标集群的标识,每个所述云主机具有对应的属性数据;
[0012]第二确定单元,用于根据所述过滤条件从多个所述云主机中确定所述属性数据对应于所述目标集群的标识的多个目标云主机,基于所述多个目标云主机获得所述目标集群的当前成员信息;
[0013]创建单元,用于获取所述目标集群的历史成员信息,根据所述历史成员信息与所
述当前成员信息创建成员变更事件;
[0014]发送单元,用于向所述目标云主机发送所述成员变更事件,以使得所述目标云主机基于所述成员变更事件更新本地的配置文件。
[0015]本申请实施例第三方面提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现前述第一方面的方法。
[0016]本申请实施例第四方面提供了一种计算机存储介质,计算机存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行前述第一方面的方法。
[0017]从以上技术方案可以看出,本申请实施例具有以下优点:
[0018]根据过滤条件确定目标集群的当前成员信息,以及基于目标集群的当前成员信息和目标集群的历史成员信息创建成员变更事件,并向作为目标集群的成员的目标云主机发送该成员变更事件,目标云主机基于该成员变更事件自动更新本地的配置文件,实现对集群成员变更事件的动态实时感知。因此,在集群发生成员变更时无需人员逐个手动更改云主机的配置文件,也不用重启云主机,云主机可自动感知集群成员变更事件,减少人力付出,也使得集群管理和维护更加方便。
附图说明
[0019]图1为本申请实施例中网络框架示意图;
[0020]图2为本申请实施例中云主机信息配置方法一个流程示意图;
[0021]图3为本申请实施例中云主机信息配置方法另一流程示意图;
[0022]图4为本申请实施例中工厂函数的一种示例性内容的示意图;
[0023]图5为本申请实施例中计算机设备一个结构示意图;
[0024]图6为本申请实施例中计算机设备另一结构示意图。
具体实施方式
[0025]在相关方案中,集群成员地址的静态配置是指在集群中的每个成员节点上,通过手动配置的方式指定其他节点的IP地址或主机名,以便每个节点可以通过这些地址来访问其他节点。这种配置方式通常用于小型集群或测试环境中,因为在大型生产环境中,静态配置可能会变得非常繁琐和不可维护。此外,如果集群中的节点数量发生变化,或者某个节点的地址发生变化,就需要手动更新所有节点的配置,这也是静态配置的最大缺点。以ZooKeeper为例,新增节点时,需要在所有节点上将配置修改成如下内容,并重启服务才能生效。
[0026]其次,也可基于注册中心实现集群成员的发现,其过程如下:启动时,每个集群成员都会向注册中心注册自己的信息,包括IP地址、端口号、服务名称等;注册中心将这些信息存储在自己的数据库中,并将其它集群成员的信息发送给当前成员;当前成员收到其它成员的信息后,将其存储在本地缓存中;当需要与其它成员通信时,当前成员从本地缓存中获取其它成员的信息,然后进行通信;如果有新的成员加入集群,它会向注册中心注册自己的信息,注册中心会将其它成员的信息发送给新成员,新成员也会将其它成员的信息存储在本地缓存中;如果有成员离开集群,它会向注册中心注销自己的信息,注册中心会将其它成员的信息发送给其它成员,其它成员也会将已离开成员的信息从本地缓存中删除;通过
这种方式,每个集群成员都可以获取到其它成员的信息,从而实现集群成员的发现和通信,常见的注册中心包括ZooKeeper、Etcd等。
[0027]然而,上述两种方式中,静态配置在增删节点时,需要手动更改配置,一般需要重启服务才能生效,非常不灵活;当集群的节点比较多时,管理和维护变得困难,容易出现配置错误。而注册中心需要额外部署第三方组件例如Etcd、ZooKeeper等,为了避免单点故障问题,一般需要至少部署3节点的集群,需要单独部署和维护,增加了系统的复杂度和维护成本;同时注册中心需要处理大量的服务注册和发现请求,如果注册中心的性能不足,将会成为整个系统的瓶颈。
[0028]为解决相关方案存在的多个技术问题,本申请实施例提出一种云主机信息配置方法、计算机设备及计算机存储介质,用于在无需人员手动更改配置的情况下实现云主机对集群成员变更事件的动态实时感知。
[0029]请参阅图1,本申请实施例中网络框架包括:
[0030]部署于若干个云环境的多个云主机,此多个云主机基于协同运作关系组成集群,则每个云主机作为集群中的成员,即如图所示的集群成员1、集群成员2、集群成员3和集群成员4,当然集群成员不仅限于图中所示的多个集群成员,还可包括更多的集群成员,或本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云主机信息配置方法,其特征在于,所述方法应用于云环境集群中的云主机,所述方法包括:确定针对于多个所述云主机的过滤条件,所述过滤条件携带目标集群的标识,每个所述云主机具有对应的属性数据;根据所述过滤条件从多个所述云主机中确定所述属性数据对应于所述目标集群的标识的多个目标云主机,基于所述多个目标云主机获得所述目标集群的当前成员信息;获取所述目标集群的历史成员信息,根据所述历史成员信息与所述当前成员信息创建成员变更事件;向所述目标云主机发送所述成员变更事件,以使得所述目标云主机基于所述成员变更事件更新本地的配置文件。2.根据权利要求1所述的方法,其特征在于,所述根据所述历史成员信息与所述当前成员信息创建成员变更事件,包括:若所述历史成员信息不包括第一成员的信息而所述当前成员信息包括所述第一成员的信息,则创建新增成员事件,所述新增成员事件携带所述第一成员的信息,所述第一成员为云主机;若所述历史成员信息包括第二成员的信息而所述当前成员信息不包括所述第二成员的信息,则创建删除成员事件,所述删除成员事件携带所述第二成员的信息,所述第二成员为云主机;若所述历史成员信息中第三成员的信息与所述当前成员信息中所述第三成员的信息不一致,则创建成员信息更新事件,所述成员信息更新事件携带所述当前成员信息中所述第三成员的信息,所述第三成员为云主机。3.根据权利要求2所述的方法,其特征在于,所述向所述目标云主机发送所述成员变更事件,包括:若创建所述新增成员事件,则向所述目标云主机发送所述新增成员事件,以使得所述目标云主机在其本地的配置文件中新增所述第一成员的信息;若创建所述删除成员事件,则向所述目标云主机发送所述删除成员事件,以使得所述目标云主机在其本地的配置文件中删除所述第二成员的信息;若创建所述成员信息更新事件,则向所述目标云主机发送所述成员信息更新事件,以使得所述目标云主机在其本地的配置文件中将所述第三成员的信息更新为所述当前成员信息中所述第三成员的信息。4.根据权利要求1所述的方法,其特征在于,所述向所述目标云主机发送所述成员变更事件,以使得所述目标云主机基于所述成员变更事件更新本地的配置文件包括:确定所述目标云主机预先创建的消息队列;将所述成员变更事件写入所述目标云主机的消息队列中,以使得所述目标云主机消费所述消息队列中的所述成员变更事件以更新本地的配置文件。5.根据权利要求1所述的方法,其特征在于,多个所述云主机部署于若干个云环境;所述根据所述过滤条件从多个所述云主机中确定所述属性数据...

【专利技术属性】
技术研发人员:程康杨旭荣
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:

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

1