掌桥专利:专业的专利平台
掌桥专利
首页

一种同代理集群通信方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 19:33:46


一种同代理集群通信方法、装置、电子设备和存储介质

技术领域

本发明涉及计算机应用技术领域,尤其涉及一种同代理集群通信方法、装置、电子设备和存储介质。

背景技术

现有大规模物理机或虚拟集群往往需要负载均衡技术来实现集群服务的均衡一致,避免出现局部负载过高的问题。目前Linux虚拟服务器(Linux Virtual Server,LVS)常用于实现大规模物理机或虚拟集群的负载均衡,其工作于四层网络模型内,可实现高性能高可用的集群负载服务,具有配置简单工作模式多样的特点。LVS具有多种工作模式,包括直接路由(Direct Routing,DR)模式、隧道模式、路由转发模式等,其中,DR模式通过接收客户端发送的访问请求到虚拟互联网协议地址(Virtual Intern et Protocol,VIP)模块,VIP模块按照LVS设置的均衡算法确定真实服务器(Real Server,RS)处理访问请求,访问请求的数据包的目的地址修改为确定的RS的地址。

但是随着微服务理念的应用,服务器集群的服务架构也变得更加复杂,现有LVS的DR模式仅能实现外部节点对服务集群内部服务的访问,但是对于属于相同LVS的服务集群内部间的访问存在限制,如图1,服务集群内不同服务器之间通过LVS进行负载均衡代理,该LVS可以代理集群服务A和集群服务B的负载均衡,当集群服务A通过LVS访问集群服务B时,由于LVS负载均衡机制,服务集群A的访问请求会被LVS打回服务集群A,而不会经过服务集群B处理后反馈给服务集群A,LVS代理的服务集群之间无法通过LVS进行通信。

发明内容

本申请实施例提供了一种同代理集群通信方法,以实现相同负载均衡代理的服务集群之间的通信问题,在不改变服务集群结构的基础上,提高服务集群对复杂服务架构的应用,可提升服务集群的可用性,提升用户使用体验。

根据本申请实施例的一方面,提供了一种同代理集群通信方法,其中,该方法包括:

获取第一服务集群的同代理通信请求,其中,所述同代理通信请求至少包括内部虚拟地址;

根据预设地址信息表和所述内部虚拟地址确定处理所述同代理请求的第二服务集群的网络地址;

根据所述网络地址将所述同代理通信请求传输至所述第二服务集群进行处理。

本申请实施例通过预设地址信息表以及内部虚拟地址实现同代理请求的处理,无需引入额外设备,可降低服务集群间通信的成本开销,辅助服务集群间进行通信交互,有助于实现服务集群的复杂架构,提升服务集群的可用性,从而提升用户的使用体验。

进一步的,在一些申请实施例中,还包括:根据所述内部虚拟地址所属的网段确定所述第二服务集群与所述第一服务集群属于相同的负载均衡代理。

本申请实施例通过网段判断第一服务集群与第二服务集群归属相同的负载均衡代理,防止同代理请求被流转到外部服务集群,可提高请求处理的安全性。

进一步的,在一些申请实施例中,根据预设地址信息表和所述内部虚拟地址确定处理所述同代理请求的第二服务集群的网络地址,包括:

在所述同代理通信请求内提取所述内部虚拟地址;

按照所述预设地址信息表确定与所述内部虚拟地址对应的至少一个内部服务集群以及所述内部服务集群的真实网络地址;

按照预设负载均衡规则在所述至少一个内部服务集群内确定处理所述同代理通信请求的所述第二服务集群,并将对应所述第二服务集群的所述真实网络地址作为所述网络地址。

本申请实施例通过在预设地址信息表设置与内部虚拟地址对应的内部服务集群以及真实网络地址,可减少地址信息表的配置难度,便于管理服务集群内的访问关系,通过负载均衡规则在内部服务集群内选择处理同代理通信请求的第二服务集群,可实现不同服务集群间的统一访问管理,避免服务集群内部出现局部负载过高的问题,可增强服务集群的健壮性。

进一步的,在一些申请实施例中,预设负载均衡规则包括以下至少之一:最少连接动态调度规则、最小期望延迟动态调度规则、从不排队调度规则、本地最少连接调度规则。

本申请实施例中通过不同的负载均衡规则确定处理同代理通信请求的第二服务集群,可提高第二服务集群与同代理通信请求的匹配程度,可提高通代理通信请求的处理效率。

进一步的,在一些申请实施例中,根据所述网络地址将所述同代理通信请求传输至所述第二服务集群进行处理,包括:

解析所述同代理通信请求的数据包以确定目的互联网协议地址字段以及目的媒体存取控制地址字段;

将所述网络地址内的真实服务器互联网协议地址以及真实服务器媒体存取控制地址更新到所述同代理通信请求的所述互联网协议地址字段以及所述目的媒体存取控制地址字段;

将更新后的所述数据包传输到所述第二服务集群以使所述第二服务集群处理所述同代理通信请求。

本申请实施例通过使用网络地址对同代理通信请求的数据包进行修改,可实现数据包的准确传输,防止同代理通信请求无法传输至第二服务集群,可提高服务集群内通信的准确性,解决属于相同负载均衡代理的服务集群间无法进行通信的问题。

进一步的,在一些申请实施例中,在所述预设地址信息表配置内部服务集群的所述内部虚拟地址,其中,所述内部虚拟地址为单向虚拟地址。

在本申请实施例中通过动态配置预设地址信息表内的内部虚拟地址,可降低服务集群系统更新的难度,使得服务集群系统更新后仍能基于预设地址信息表实现内部集群访问,而预设地址信息表内的单向虚拟地址,可提高通信控制的精确度,防止虚拟地址引起通信冲突,提高了服务集群内通信的安全性。

进一步的,在一些申请实施例中,所述网段与外部集群对应虚拟地址的所属网段不同。

本申请实施例通过设置网段的方式将处理同代理通信请求的内部服务集群与外部集群相隔离,防止内部通信请求流入外部集群,可进一步提高同代理通信请求传输的安全性。

根据本申请实施例的另一种方面,提供了一种同代理集群通信装置,其中,该装置包括:

请求获取模块,用于获取第一服务集群的同代理通信请求,其中,所述同代理通信请求至少包括内部虚拟地址;

集群确定模块,用于根据预设地址信息表和所述内部虚拟地址确定处理所述同代理请求的第二服务集群的网络地址;

请求转发模块,用于根据所述网络地址将所述同代理通信请求传输至所述第二服务集群进行处理。

根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的同代理集群通信方法。

根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的同代理集群通信方法。

本申请实施例的技术方案,通过获取到第一服务集群的同代理通信请求,基于预设地址信息表以及同代理通信请求的内部虚拟地址确定处理该同代理通信请求的第二服务集群的网络地址,按照该网络地址发送同代理通信请求到第二服务集群进行处理,本申请实施例通过预设地址信息表以及内部虚拟地址实现归属相同代理的服务集群间的通信,无需引入额外设备,减少服务集群间通信的成本开销,可实现服务集群的复杂架构,从而提升服务集群的可用性,增强用户的使用体验。

应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本申请实施例提供的一种服务集群信息通信的示例图;

图2是根据本申请实施例提供的一种同代理集群通信方法的流程图;

图3是根据本申请实施例提供的另一种同代理集群通信方法的流程图;

图4是根据本申请实施例提供的一种同代理集群通信方法的示例图;

图5是根据本申请实施例提供的一种同代理集群通信的流程示例图;

图6是根据本申请实施例提供的一种同代理集群通信装置的结构示意图;

图7是实现本发明实施例的同代理集群通信方法的电子设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

图2是根据本申请实施例提供的一种同代理集群通信方法的流程图,本实施例可适用于属于相同负载均衡器的服务集群间的信息通信的情况,该方法可以由同代理集群通信装置来执行,该同代理集群通信装置可以采用硬件和/或软件的形式实现,该同代理集群通信装置可配置于代理负载均衡的负载均衡器,该负载均衡器可以包括服务器或服务器集群。如图2所示,本申请实施例提供的方法具体包括:

步骤110、获取第一服务集群的同代理通信请求,其中,同代理通信请求至少包括内部虚拟地址。

其中,第一服务集群可以是负载均衡器代理的服务集群,第一服务集群可以与其他服务集群存在信息交互需求,第一服务集群可以由一台或多台服务器组成。同代理通信请求可以是实现归属于相同均衡服务器代理的服务集群间信息交互的请求,同代理通信请求可以按照现有技术的通信协议生成或由自定义的通信协议生成。内部虚拟地址可以是服务集群用于进行通信的虚拟地址,该内部虚拟地址可以包括VIP地址或媒体存取控制地址(Media Access Control Address,MAC)等,内部虚拟地址可以通过对负载均衡器的配置实现。

在本申请实施例中,第一服务集群可以将同代理通信请求发送到负载均衡器,可以由该负载均衡器接收该同代理通信请求,该同代理请求可以用于第一服务集群对属于该负载均衡器的其他服务集群进行访问。该同代理通信请求可以是按照指定的通信规则生成,同代理通信请求内可以至少包括内部虚拟地址,该内部虚拟地址可以在负载均衡器内指向处理同代理通信请求的其他服务集群。在一些实施例中,同代理通信请求可以为传输控制协议(Transmission Control Protocol,TCP)报文,内部虚拟地址可以作为同代理通信请求的目的IP地址。

步骤120、根据预设地址信息表和内部虚拟地址确定处理同代理请求的第二服务集群的网络地址。

其中,预设地址信息表可以是存储有内部虚拟地址以及服务器集群的真实地址的信息表,预设地址信息表内可以内部虚拟地址以及服务器集群的真实地址可以存在对应关系。第二服务集群可以是与第一服务集群进行通信的服务集群,在一些实施例中,第一服务集群与第二服务集群可以实现不同的业务服务,而在另一些实施例中,第一服务集群与第二服务集群可以是实现相同业务服务的不同物理机或虚拟机。网络地址可以是访问第二服务集群的真实地址,该网络地址可以包括IP地址或MAC地址。

在本申请实施例中,可以按照内部虚拟地址查找预设信息表内对应的网络地址,可以将该网络地址对应的服务集群作为处理同代理请求的第二服务集群,可以理解的是,预设信息表内一个内部虚拟地址可以对应多个网络地址,可以在多个网络地址对应的服务集群内选择一个或多个服务集群作为第二服务集群。在一些实施例中,预设信息表可以是负载均衡器的虚拟网卡配置的路由信息表,预设信息表内可以存储该虚拟网卡处理的服务请求的路由信息。

步骤130、根据网络地址将同代理通信请求传输至第二服务集群进行处理。

在本申请实施例中,负载均衡器可以按照确定出的第二服务集群的网络地址将同代理通信请求传输给第二服务集群,可以由第二服务集群对同代理通信请求进行处理,进一步的,在一些实施例中,同代理通信请求的传输过程可以基于负载均衡器的均衡算法实现,可以保证服务集群内的负载均衡。

本申请实施例,通过接收第一服务集群的同代理通信请求,使用预设地址信息表和同代理通信请求的内部虚拟地址确定对同代理通信请求进行处理的第二服务集群,以及该第二服务集群的网络地址,按照网络地址发送同代理通信请求到第二服务集群进行处理,本申请实施例通过预设地址信息表以及内部虚拟地址实现归属相同代理的服务集群间的通信,无需引入额外设备,减少服务集群间通信的成本开销,可实现服务集群的复杂架构,从而提升服务集群的可用性,增强用户的使用体验。

图3是根据本申请实施例提供的另一种同代理集群通信方法的流程图,本申请实施例是在上述申请实施例基础上的具体化,通过对内部虚拟地址网段的判断区分同代理通信请求的处理方向,防止内部访问对外部访问造成影响,参见图3,本申请实施例提供的方法具体包括如下步骤:

步骤210、获取第一服务集群的同代理通信请求,其中,同代理通信请求至少包括内部虚拟地址。

步骤220、根据内部虚拟地址所属的网段确定第二服务集群与第一服务集群属于相同的负载均衡代理。

其中,网段可以是配置的内部虚拟地址在负载均衡器的虚拟网卡内所属的网段,负载均衡器代理的服务集群可以均被配置到相同的网段。

在本申请实施例中,可以同代理通信请求内的内部虚拟地址,可以通过对内部虚拟地址所属网段进行判断,判断该内部虚拟地址是否属于负载均衡器代理的服务集群内部使用的虚拟地址,若是,则可以确定第一服务器集群与通信的第二服务集群属于相同的负载均衡代理,若不是,则该同代理通信请求为外部通信请求,该同代理请求无法在负载均衡器代理的服务集群内进行传输,通过将内部虚拟地址的网段的判断,将内部请求与外部请求进行隔离,防止内部请求传输对外部请求传输产生影响。

步骤230、在同代理通信请求内提取内部虚拟地址。

在本申请实施例中,可以提取同代理通信请求内的内部虚拟地址,该内部虚拟地址可以位于同代理通信请求的目的地址字段。

步骤240、按照预设地址信息表确定与内部虚拟地址对应的至少一个内部服务集群以及内部服务集群的真实网络地址。

其中,内部服务集群可以是负载均衡器代理的服务集群,内部服务集群可以在预设地址信息表内与内部虚拟地址存在对应关系。真实网络地址可以是各内部服务集群的网络地址,该网络地址可以用于访问内部服务集群。

在本申请实施例中,可以在预设地址信息表内查找与内部虚拟地址存在对关系的内部服务集群,以及内部服务集群的真实网络地址。该预设地址信息表可以将内部虚拟地址与内部服务集群的标识信息关联存储,该标识信息可以包括服务集群名称、服务集群真实网络地址等,可以理解的是,预设地址信息表内一个内部虚拟地址可与多个内部服务集群关联存储,确定的与内部虚拟地址存在对应关系的内部服务集群可以为多个。

步骤250、按照预设负载均衡规则在至少一个内部服务集群内确定处理同代理通信请求的第二服务集群,并将对应第二服务集群的真实网络地址作为网络地址。

其中,预设负载均衡规则可以是负载均衡器内配置的用于在内部服务集群进行负载均衡的规则,预设负载均衡规则可以保存内部服务集群间的业务分布均衡,防止内部服务集群中局部负载过大导致服务出现问题。

在本申请实施例中,可以获取预先配置的预设负载均衡规则,可以按照该预设负载均衡规则在与内部虚拟地址对应的一个或多个内部服务集群中选择出处理同代理通信请求的第二服务集群,可以将确定出的第二服务集群的真实网络地址作为用于进行集群内信息传输使用的网络地址。

在一些申请实施例中,预设负载均衡规则包括以下至少之一:最少连接动态调度规则、最小期望延迟动态调度规则、从不排队调度规则、本地最少连接调度规则。

本申请实施例中,负载均衡器内配置的预设负载均衡规则可以包括:最少连接动态调度规则、最小期望延迟动态调度规则、从不排队调度规则、本地最少连接调度规则中的一种或多种,可以通过对预设负载均衡规则的调用,实现内部服务集群的均衡服务。可以理解的是,负载均衡器配置的预设负载均衡规则可以包括但不限于上述的内容。

步骤260、解析同代理通信请求的数据包以确定目的互联网协议地址字段以及目的媒体存取控制地址字段。

其中,数据包可以是同代理通信请求传输的数据单元,数据包内可以包括目的互联网协议地址字段以及目的媒体存取控制地址字段。

在本申请实施例中,可以对接收到的同代理通信请求进行解析,可以在同代理通信请求中确定目的互联网协议地址字段以及目的媒体存取控制地址字段在同代理通信请求中的位置。在一些实施例中,同代理通信请求可以TCP数据包的形式传输,可以解析TCP数据包的包头以互联网协议地址字段以及目的媒体存取控制地址字段在同代理通信请求中的位置。

步骤270、将网络地址内的真实服务器互联网协议地址以及真实服务器媒体存取控制地址更新到同代理通信请求的互联网协议地址字段以及目的媒体存取控制地址字段。

在本申请实施例中,第二服务集群的网络地址可以包括真实服务器互联网协议地址以及真实服务器媒体存取控制地址,可以将同代理通信请求中确定出的互联网协议地址字段以及目的媒体存取控制地址字段的信息分别更新为网络地址中的真实服务器互联网协议地址以及真实服务器媒体存取控制地址,使得同代理通信请求可以传输到第二服务集群。

步骤280、将更新后的数据包传输到第二服务集群以使第二服务集群处理同代理通信请求。

在本申请实施例中,在同代理通信请求的数据包均更新为第二服务集群的网络地址之后,可以将更新后的数据包传输给第二服务集群,从而实现同代理通信请求的传输,使得第二服务集群可以对同代理通信请求进行处理,从而实现第二服务集群对第一服务集群的响应。

本申请实施例,通过获取第一服务集群生成的同代理通信请求,按照同代理通信请求内的内部虚线地址的网段确认第一服务集群与处理该同代理通信请求的第二服务集群属于相同的负载均衡代理,提取同代理通信请求内的内部虚拟地址,在预设地址信息表查找内部虚拟地址对应的内部服务集群以及该内部服务集群对应的真实网络地址,按照预设负载均衡规则在各内部服务集群内确定处理同代理通信请求的第二服务集群,并将该第二服务集群的真实网络地址作为网络地址,解析同代理通信请求的数据包以确定出目的互联网协议地址字段以及目的媒体存取控制地址字段,将网络地址的真实服务器互联网协议地址以及真实服务器媒体存取控制地址更新到上述字段,将更新后的数据包传输到第二服务集群以使第二服务集群处理同代理通信请求,从而实现归属相同代理的服务集群间的通信,无需引入额外设备,减少服务集群间通信的成本开销,可实现服务集群的复杂架构,从而提升服务集群的可用性,增强用户的使用体验。

在一些申请实施例中,本申请实施例提供的同代理集群通信方法还包括:

在预设地址信息表配置内部服务集群的内部虚拟地址,其中,内部虚拟地址为单向虚拟地址。

其中,单向虚拟地址可以是只能进行单向传输的虚拟地址,例如,服务集群A配置的单向虚拟地址,服务集群B可以使用该单向虚拟地址传输数据到服务集群A,在服务集群A向服务集群B传输数据时,不能使用上述的单向虚拟地址,而需要使用另外一个单向虚拟地址。

在本申请实施例中,可以预先对预设地址信息表进行配置,每个内部服务集群可以存在各自对应的内部虚拟地址,预设地址信息表内配置的内部虚拟地址可以为单向虚拟地址,内部服务集群只能使用该单向虚拟地址传输到对应的内部虚拟地址。

在另一些申请实施例中,所述网段与外部集群对应虚拟地址的所属网段不同。

在本申请实施例中,执行本申请实施例方法的负载均衡器还可以执行外部集群对内部服务集群的访问调度,该调度过程也可以由虚拟地址实现,但是外部集群通信使用的虚拟地址与内部虚拟地址的网段不同,便于负载均衡器判断访问请求的处理方式,防止内外访问请求之间的干扰。

在一些实施例中,图4是根据本申请实施例提供的一种同代理集群通信方法的示例图,参见图4,负载均衡服务集群可以由LVS实现,该负载均衡服务集群可以同时代理服务集群A和服务集群B的负载均衡,负载均衡服务集群针对外部访问链路可以提供第一直接服务器(Direct Server,DS),该第一DS可以为外部访问链路提供路由转发功能,负载均衡服务集群还可以针对内部访问链路提供第二DS,该第二DS可以为内部访问链路提供路由转发功能,内部访问链路可以是指负载均衡服务集群代理的服务集群A和服务集群B之间的数据访问链路,服务集群A以及服务集群B可以分别由一台或多台RS组成。

基于图4示出的访问链路,当服务集群A需要与服务集群B进行通信时,服务集群A与服务集群B的通信方式可以如图5所示。在服务集群A请求服务集群B的服务时,服务集群A发送的同代理通信请求,可以通过同代理通信请求的内部VIP访问第二DS,可以由该第二DS基于内部VIP对同代理通信请求进行解析,在同代理通信请求提取源IP地址、目的IP地址以及目的MAC地址,然后可以按照预先配置的一个或多个负载均衡策略对服务集群B进行匹配,从而确定出RS服务地址,可以按照RS服务地址对同代理通信请求中的目的IP地址以及目的MAC地址进行更新,使得更新后的同代理通信请求的目的IP地址以及目的MAC地址指向RS服务地址,同代理通信请求可以转发到服务集群B的RS,从而使得RS可以对同代理通信请求进行处理。进一步的,RS在对同代理通信请求处理后可以修改同代理通信请求的IP地址,从而实现响应服务集群A的请求。该响应过程可以与请求过程类型,服务集群B可以将响应信息通过内部VIP发送到第二DS,由第二DS确定,可以由该第二DS基于内部VIP对响应信息进行解析,提取源IP地址、目的IP地址,以及目的MAC地址,可以理解的是,此时,响应信息的源IP地址、目的IP地址、目的MAC地址可以与同代理通信请求恰好相反,源IP地址为服务集群B中RS的IP地址,而目的IP地址以及目的MAC地址可以为服务集群A中RS的IP地址以及MAC地址。第二DS可以同样使用一个或多个负载均衡策略在服务集群A内选择一个或多个RS服务地址,可以按照该RS服务地址对响应信息进行修改,并将修改后的响应信息反馈至服务集群A的RS。

而基于图4示出的访问链路,外部服务集群在实现对内部服务集群的通信时,通信请求可以通过VIP发送至第一DS,可以理解的是,该VIP与访问第二DS的VIP所属的网段不同,通信请求仅可以通过VIP访问第一DS,该第一DS中仅处理外部集群的通信请求,第一DS可以通过负载均衡选择处于通信请求的内部RS,第一DS可以通信请求转发至内部RS进行处理,从而实现外部服务集群对内部服务集群的通信。在本申请实施例中,可以访问第一DS的外部通信请求的VIP可以与内部通信请求的VI P划分到不同的网段,使得内部的访问请求访问第二DS,而外部的访问请求访问第一DS,使得内部访问请求与外部访问请求互不影响,从而提升集群间通信的安全性。

进一步的,在一些申请实施例中,第一DS与第二DS可以位于相同的物理设备,该物理设备内可以配置两套预设地址信息表,第一套预设地址信息表与外部VIP关联存储,第二套预设地址信息表与内部VIP关联存储,在物理设备接收到通信请求时,可以通过对通信请求的VIP所属网段进行判断,若网段属于外部VIP,则利用第一套预设地址信息表确定出处理通信请求的RS,若网段属于内部VIP,则利用第二套预设地址信息表确定出处理通信请求的RS,可以将通信请求转发至对应的RS进行处理,从而兼容外部服务集群对内部服务集群的访问以及内部服务集群对内部服务集群的访问。

图6是根据本申请实施例提供的一种同代理集群通信装置的结构示意图,如图6所示,该装置包括:请求获取模块301、集群确定模块302和请求转发模块303。

请求获取模块301,用于获取第一服务集群的同代理通信请求,其中,所述同代理通信请求至少包括内部虚拟地址。

集群确定模块302,用于根据预设地址信息表和所述内部虚拟地址确定处理所述同代理请求的第二服务集群的网络地址。

请求转发模块303,用于根据所述网络地址将所述同代理通信请求传输至所述第二服务集群进行处理。

本申请实施例,通过请求获取模块接收第一服务集群的同代理通信请求,集群确定模块使用预设地址信息表和同代理通信请求的内部虚拟地址确定对同代理通信请求进行处理的第二服务集群,以及该第二服务集群的网络地址,请求转发模块按照网络地址发送同代理通信请求到第二服务集群进行处理,本申请实施例通过预设地址信息表以及内部虚拟地址实现归属相同代理的服务集群间的通信,无需引入额外设备,减少服务集群间通信的成本开销,可实现服务集群的复杂架构,从而提升服务集群的可用性,增强用户的使用体验。

在一些申请实施例中,还包括:网段判断模块,用于根据所述内部虚拟地址所属的网段确定所述第二服务集群与所述第一服务集群属于相同的负载均衡代理。

在另一些实施例中,网段与外部集群对应虚拟地址的所属网段不同。

在一些申请实施例中,集群确定模块302包括:

地址提取单元,用于在所述同代理通信请求内提取所述内部虚拟地址。

地址查找单元,用于按照所述预设地址信息表确定与所述内部虚拟地址对应的至少一个内部服务集群以及所述内部服务集群的真实网络地址。

集群确定单元,用于按照预设负载均衡规则在所述至少一个内部服务集群内确定处理所述同代理通信请求的所述第二服务集群,并将对应所述第二服务集群的所述真实网络地址作为所述网络地址。

在一些申请实施例中,预设负载均衡规则包括以下至少之一:最少连接动态调度规则、最小期望延迟动态调度规则、从不排队调度规则、本地最少连接调度规则。

在一些实施例中,请求转发模块303包括:

字段确定单元,用于解析所述同代理通信请求的数据包以确定目的互联网协议地址字段以及目的媒体存取控制地址字段。

信息更新单元,用于将所述网络地址内的真实服务器互联网协议地址以及真实服务器媒体存取控制地址更新到所述同代理通信请求的所述互联网协议地址字段以及所述目的媒体存取控制地址字段。

请求发送单元,用于将更新后的所述数据包传输到所述第二服务集群以使所述第二服务集群处理所述同代理通信请求。

在一些实施例中,本申请实施例提供的装置还包括:地址配置模块,用于在所述预设地址信息表配置内部服务集群的所述内部虚拟地址,其中,所述内部虚拟地址为单向虚拟地址。

本申请实施例所提供的同代理通信装置可执行本申请任意实施例所提供的同代理通信方法,具备执行方法相应的功能模块和有益效果。

图7是实现本发明实施例的同代理集群通信方法的电子设备的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。

如图7所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。

电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如同代理集群通信方法。

在一些实施例中,同代理集群通信方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的同代理集群通信方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行同代理集群通信方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本申请实施例的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本申请实施例的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。

计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

相关技术
  • 一种即时通信的数据存储方法、装置、电子设备和介质
  • 代理人业务调整方法、装置、存储介质及电子设备
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 集群间通信安全因子的生成方法、装置、介质及电子设备
  • 即时通信方法、装置、电子设备及存储介质
  • 多集群通信方法、装置、电子设备及存储介质
  • Kafka集群的通信方法、装置、电子设备和存储介质
技术分类

06120115951776