一种多集群场景下服务的域名解析方法及系统技术方案

技术编号:35782857 阅读:16 留言:0更新日期:2022-12-01 14:29
本申请涉及云原生技术领域,提供了一种多集群场景下服务的域名解析方法及系统。该方法包括:响应于接收到部署在第一集群中的第一服务实例指向第二服务的域名解析请求,根据预先建立的第二服务对应的至少一个服务实例的IP地址清单,确定第二服务实例的IP地址;第二服务实例为部署在第一集群中的第二服务对应的服务实例;使用第二服务实例的IP地址代替第二服务的虚拟IP地址,作为域名解析请求的响应,反馈给第一服务实例。如此,通过返回第二服务实例的IP地址,使得第一服务实例在尝试访问第二服务时,直接使用第二服务实例的IP地址访问相同集群中的第二服务实例,避免跨集群访问服务实例而产生额外的网络延迟和资源开销。务实例而产生额外的网络延迟和资源开销。务实例而产生额外的网络延迟和资源开销。

【技术实现步骤摘要】
一种多集群场景下服务的域名解析方法及系统


[0001]本申请涉及云原生
,特别涉及一种多集群场景下服务的域名解析方法、系统、计算机可读存储介质、电子设备。

技术介绍

[0002]随着云原生技术的普及,越来越多的企业开始采用同城多活或者异地多活的部署方式来搭建应用,即建立多个数据中心,每个数据中心设置多个服务器节点,使用以Kubernetes系统为代表的容器编排系统将数据中心中的全部服务器节点作为一个集群进行管理,并将服务所对应的多个服务实例部署在多个集群中,同时对访问请求进行响应,降低了单一数据中心带来的风险,保障了业务的高可用性。
[0003]然而,相关技术中,在多集群环境下多个服务之间相互访问时,会出现跨集群访问服务实例的情况,造成网络延迟和资源开销过高。
[0004]因此,需要提供一种针对上述现有技术不足的改进技术方案。

技术实现思路

[0005]本申请的目的在于提供一种多集群场景下服务的域名解析方法、系统、计算机可读存储介质、电子设备,以解决或缓解上述现有技术中存在的问题。
[0006]为了实现上述目的,本申请提供如下技术方案:
[0007]本申请提供了一种多集群场景下服务的域名解析方法,包括:
[0008]在多集群中第一服务和第二服务分别对应有至少一个服务实例,在第一集群中部署有所述第一服务对应的第一服务实例,所述方法由第一集群的域名解析组件执行;所述方法包括:
[0009]响应于接收到第一服务实例指向第二服务的域名解析请求,根据预先建立的第二服务对应的至少一个服务实例的IP地址清单,确定第二服务实例的IP地址;所述第二服务实例为部署在所述第一集群中的所述第二服务对应的服务实例;
[0010]使用所述第二服务实例的IP地址代替所述第二服务的虚拟IP地址,作为所述域名解析请求的响应,反馈给所述第一服务实例。
[0011]上述方案中,所述第二服务对应的至少一个服务实例的IP地址清单通过以下方式建立:
[0012]通过访问所有集群的API

Server组件,获取并在所述IP地址清单中记录所述第二服务对应的所有服务实例所在的集群和IP地址;
[0013]相应地,所述根据预先建立的第二服务对应的至少一个服务实例的IP地址清单,确定第二服务实例的IP地址,包括:
[0014]从所述IP地址清单中查询是否存在所述第二服务实例;
[0015]响应于存在所述第二服务实例,从所述IP地址清单中查询所述第二服务实例的IP地址。
[0016]上述方案中,还包括:持续监听并在所述IP地址清单中记录所述第二服务对应的所有服务实例的运行状态;
[0017]相应地,在所述从所述IP地址清单中查询所述第二服务实例的IP地址之前,还包括:
[0018]从所述IP地址清单中查询所述第二服务实例的运行状态。
[0019]上述方案中,还包括:
[0020]响应于所述第二服务实例处于可用状态,从所述IP地址清单中查询所述第二服务实例的IP地址;
[0021]响应于所述第二服务实例处于不可用状态,从所述IP地址清单中查询第三服务实例的IP地址;所述第三服务实例为部署在第二集群中的所述第二服务对应的服务实例;使用所述第三服务实例的IP地址代替所述第二服务的虚拟IP地址,作为所述域名解析请求的响应,反馈给所述第一服务实例。
[0022]上述方案中,所述持续监听所述第二服务对应的所有服务实例的运行状态,包括:
[0023]通过所述API

Server组件监听所述第二服务对应的所有服务实例所在容器组的运行状态;或者,
[0024]通过访问监控组件获取所述第二服务对应的所有服务实例的运行状态;或者,
[0025]根据服务实例发送的心跳数据包获取所述第二服务对应的所有服务实例的运行状态。
[0026]上述方案中,所述第一服务和第二服务分别对应的至少一个服务实例部署在位于不同区域的多个集群中。
[0027]上述方案中,所述第一集群的域名解析组件中设置有多集群域名解析插件,所述多集群域名解析插件用于建立和维护所述IP地址清单,以及对所述域名解析请求进行响应。
[0028]本申请实施例还提供一种多集群场景下服务的域名解析系统,包括:
[0029]在多集群中第一服务和第二服务分别对应有至少一个服务实例,在第一集群中部署有所述第一服务对应的第一服务实例;所述系统包括:
[0030]响应单元,配置为响应于接收到第一服务实例指向第二服务的域名解析请求,根据预先建立的第二服务对应的至少一个服务实例的IP地址清单,确定第二服务实例的IP地址;所述第二服务实例为部署在所述第一集群中的所述第二服务对应的服务实例;
[0031]反馈单元,配置为使用所述第二服务实例的IP地址代替所述第二服务的虚拟IP地址,作为所述域名解析请求的响应,反馈给所述第一服务实例。
[0032]本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序为如上任一所述的多集群场景下服务的域名解析方法。
[0033]本申请实施例还提供一种电子设备,包括:存储器、处理器、以及存储在所述存储器中并可在所述处理器上运行的程序,所述处理器执行所述程序时实现如上任一所述的多集群场景下服务的域名解析方法。
[0034]有益效果:
[0035]本申请提供的技术方案中,当第一集群的域名解析组件接收到第一服务实例指向第二服务的域名解析请求时,通过预先建立第二服务对应的至少一个服务实例的IP地址清
单,确定第二服务实例的IP地址,其中,第二服务实例为部署在第一集群中的第二服务对应的服务实例,并使用第二服务实例的IP地址代替第二服务的虚拟IP地址,作为域名解析请求的响应,反馈给第一服务实例。如此,在第一服务实例尝试访问第二服务时,将第二服务实例的IP地址代替第二服务的虚拟IP地址作为指向第二服务的域名解析请求的响应,返回给第一服务实例,实现优先返回部署在同一集群中的第二服务实例的IP地址的目的,保证多个服务之间相互访问时,发起服务访问的第一服务实例能够就近直接访问同一集群中的第二服务实例,避免了跨集群访问服务实例产生额外的网络延迟和资源开销。
附图说明
[0036]构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。其中:
[0037]图1为相关技术中多集群场景下第一服务实例访问第二服务实例的逻辑示意图;
[0038]图2为本申请的一些实施例提供的多集群场景下服务的域名解析方法的实现逻辑示意图;
[0039]图3为本申请的一些实施例提供的多集群场景下服务的域名解析方法的流程示意图;
[0040]图4为本申请的一些实施例提供的多集群场景下第一服务实例访问第二服务实例的逻辑示意图;
[0041]图5为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多集群场景下服务的域名解析方法,其特征在于,在多集群中第一服务和第二服务分别对应有至少一个服务实例,在第一集群中部署有所述第一服务对应的第一服务实例,所述方法由第一集群的域名解析组件执行;所述方法包括:响应于接收到第一服务实例指向第二服务的域名解析请求,根据预先建立的第二服务对应的至少一个服务实例的IP地址清单,确定第二服务实例的IP地址;所述第二服务实例为部署在所述第一集群中的所述第二服务对应的服务实例;使用所述第二服务实例的IP地址代替所述第二服务的虚拟IP地址,作为所述域名解析请求的响应,反馈给所述第一服务实例。2.根据权利要求1所述的多集群场景下服务的域名解析方法,其特征在于,所述第二服务对应的至少一个服务实例的IP地址清单通过以下方式建立:通过访问所有集群的API

Server组件,获取并在所述IP地址清单中记录所述第二服务对应的所有服务实例所在的集群和IP地址;相应地,所述根据预先建立的第二服务对应的至少一个服务实例的IP地址清单,确定第二服务实例的IP地址,包括:从所述IP地址清单中查询是否存在所述第二服务实例;响应于存在所述第二服务实例,从所述IP地址清单中查询所述第二服务实例的IP地址。3.根据权利要求2所述的多集群场景下服务的域名解析方法,其特征在于,还包括:持续监听并在所述IP地址清单中记录所述第二服务对应的所有服务实例的运行状态;相应地,在所述从所述IP地址清单中查询所述第二服务实例的IP地址之前,还包括:从所述IP地址清单中查询所述第二服务实例的运行状态。4.根据权利要求3所述的多集群场景下服务的域名解析方法,其特征在于,还包括:响应于所述第二服务实例处于可用状态,从所述IP地址清单中查询所述第二服务实例的IP地址;响应于所述第二服务实例处于不可用状态,从所述IP地址清单中查询第三服务实例的IP地址;所述第三服务实例为部署在第二集群中的所述第二服务对应的服务实例;使用所述第三服务实例的IP地址代替所述第二服务的虚拟IP地址,作为所述域名解析请求的响应,反馈...

【专利技术属性】
技术研发人员:张潇叶挺陈文蒋兴彦卢传佳朱正浩
申请(专利权)人:上海道客网络科技有限公司
类型:发明
国别省市:

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

1