CN111464592B - 基于微服务的负载均衡方法、装置、设备及存储介质 - Google Patents
基于微服务的负载均衡方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111464592B CN111464592B CN202010156707.7A CN202010156707A CN111464592B CN 111464592 B CN111464592 B CN 111464592B CN 202010156707 A CN202010156707 A CN 202010156707A CN 111464592 B CN111464592 B CN 111464592B
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- preset
- domain name
- load balancing
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本发明涉及云服务领域,公开了一种基于微服务的负载均衡方法、装置、设备及存储介质。基于微服务的负载均衡方法包括:基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中,并对不同的机房分配对应的区域标识;解析域名解析请求,得到域名地址;通过第一预置负载均衡算法对域名地址进行域名解析,得到公网网络协议地址;当接收到目标终端发送的微服务调用请求时,根据公网网络协议地址按照第二预置负载均衡算法将微服务调用请求分发到业务微服务;当业务微服务之间进行链路调用时,调用区域标识相同的业务微服务。本发明通过基于eureka的区域zone机制,结合负载均衡算法,实现对微服务调用请求分发,提高微服务集群流量分流正确率。
Description
技术领域
本发明涉及流量分流领域,尤其涉及基于微服务的负载均衡方法、装置、设备及存储介质。
背景技术
微服务架构是采用单应用程序开发一套小型服务,每种应用程序均以各自的进程运行,并与轻量级机制进行通信,这些微服务是围绕业务功能构建的,通过全自动部署机制进行独立部署和集中化管理。
通过区域架构的升级,采用同城多活保证业务系统在主机故障、机房中断、自然灾害等情况下可持续运行,获得生产环境的高稳定性,实现业务系统零中断。现有业内对于系统同城多活的方案有很多,例如,采用虚拟服务器(Linux virtual server,LVS)和网络服务器nginx结合的架构,该架构可以满足单体业务系统的多活,但在微服务群应用时,LVS通常利用网关开放式最短路径优先(open shortest path first,OSPF)邻居来实现去除单一节点,按业务要求做流量分流策略控制,导致很多业务出错率高,例如,将针对用户区域的网络连接地址分配到不同机房的服务器中。
另外,在面对微服务群时,微服务存在长链路的调用,LVS和nginx结合的架构能满足链路入口处的微服务是多活的,不能保证该调用链路的微服务多活,会导致一个调用请求多次跨机房调用,导致网络专线资源消耗高。
发明内容
本发明的主要目的在于解决了一个微服务的调用请求多次跨机房调用,导致网络专线资源消耗高以及微服务群流量分流正确率低的技术问题。
为实现上述目的,本发明第一方面提供了一种基于微服务的负载均衡方法,包括:基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中,并对所述不同的机房分配对应的区域标识,所述注册中心服务用于指示对多个预置微服务实例进行注册,所述业务微服务用于指示采用所述多个预置微服务实例提供业务服务;当接收到目标终端发送的域名解析请求时,对所述域名解析请求进行解析,得到域名地址;通过预置域名解析服务按照第一预置负载均衡算法对所述域名地址进行域名解析,得到公网网络协议地址,并将所述公网网络协议地址发送到所述目标终端,所述第一预置负载均衡算法用于指示将所述域名地址按照预置权重分配到所述不同的机房中;当接收到所述目标终端发送的微服务调用请求时,根据所述公网网络协议地址按照第二预置负载均衡算法将所述微服务调用请求分发到所述业务微服务,所述微服务调用请求为所述目标终端根据所述公网网络协议地址生成的访问请求,所述业务微服务采用任意一个预置微服务实例进行链路调用和业务响应;当所述业务微服务之间进行链路调用时,调用所述区域标识相同的业务微服务。
可选的,在本发明第一方面的第一种实现方式中,所述基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中,并对所述不同的机房分配对应的区域标识,所述注册中心服务用于指示对多个预置微服务实例进行注册,所述业务微服务用于指示采用所述多个预置微服务实例提供业务服务,包括:基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中,得到多个预置微服务实例,所述注册中心服务用于指示对所述多个预置微服务实例进行注册,所述业务微服务用于指示采用所述多个预置微服务实例提供业务服务;对所述不同的机房分配对应的区域标识,并将所述区域标识配置在所述机房各自的预置配置文件中;重启所述注册中心服务和所述业务微服务,将所述预置微服务实例注册到所述注册中心服务中,得到服务注册表,所述服务注册表用于指示所述预置微服务实例的名称与所述预置微服务实例的网络协议地址之间的映射关系。
可选的,在本发明第一方面的第二种实现方式中,所述通过预置域名解析服务按照第一预置负载均衡算法对所述域名地址进行域名解析,得到公网网络协议地址,并将所述公网网络协议地址发送到所述目标终端,所述第一预置负载均衡算法用于指示将所述域名地址按照预置权重分配到所述不同的机房中,包括:判断所述域名地址是否存在预置域名缓存记录中;若所述域名地址存在所述预置域名缓存记录中,则按照第一预置负载均衡算法从所述预置解析记录中读取域名地址对应的公网网络协议地址,所述第一预置负载均衡算法用于指示将所述域名地址按照预置权重分配到所述不同的机房中;若所述域名地址不存在所述预置域名缓存记录中,则通过预置域名解析服务按照所述第一预置负载均衡算法对所述域名地址进行域名解析,得到所述公网网络协议地址,并将所述公网网络协议地址缓存到所述预置域名缓存记录中;通过预置应用接口将所述公网网络协议地址发送到所述目标终端。
可选的,在本发明第一方面的第三种实现方式中,所述当接收到所述目标终端发送的微服务调用请求时,根据所述公网网络协议地址按照第二预置负载均衡算法将所述微服务调用请求分发到所述业务微服务,所述微服务调用请求为所述目标终端根据所述公网网络协议地址生成的访问请求,所述业务微服务采用任意一个预置微服务实例进行链路调用和业务响应,包括:当接收到所述目标终端发送的微服务调用请求时,解析所述微服务调用请求,得到所述公网网络协议地址,所述微服务调用请求为所述目标终端根据所述公网网络协议地址生成的访问请求;根据第二预置负载均衡算法对所述公网网络协议地址进行转换,得到所述预置微服务实例的私有地址;根据所述预置微服务实例的私有地址进行链路调用和业务响应。
可选的,在本发明第一方面的第四种实现方式中,所述当所述业务微服务之间进行链路调用时,调用所述区域标识相同的业务微服务包括:当所述业务微服务之间进行链路调用时,确定待调用的业务微服务的名称,并从所述注册中心服务中获取所述服务注册表;根据所述待调用的业务微服务的名称从服务注册表中获取多个预置微服务实例的网络协议地址,所述多个预置微服务实例属于相同的业务微服务;从所述预置配置文件中确定所述多个预置微服务实例对应的区域标识;根据所述网络协议地址按照预置流量分配机制调用所述区域标识相同的预置微服务实例。
可选的,在本发明第一方面的第五种实现方式中,所述判断所述域名地址是否存在预置域名缓存记录中包括:根据所述域名地址查询预置域名缓存记录,得到查询数据;判断所述查询数据是否为空值;若所述查询数据为所述空值,则确定域名地址不存在预置域名缓存记录中;若所述查询数据不为所述空值,则确定所述域名地址存在所述预置域名缓存记录中。
可选的,在本发明第一方面的第六种实现方式中,所述根据网络协议地址按照预置流量分配机制调用区域标识相同的业务微服务之后,所述基于微服务的负载均衡方法还包括:按照预置时长定时发送探活请求到所述业务微服务的预置监控端点;接收并解析所述预置监控端点返回的监控数据,得到状态值;当检测到所述状态值为目标值时,确定所述业务微服务为正常存活状态;当检测到所述状态值不为所述目标值或者发送的探活请求无响应时,确定所述业务微服务为宕机状态,并通过所述预置域名解析服务清除所述业务微服务对应的公网网络协议地址。
本发明第二方面提供了一种基于微服务的负载均衡装置,包括:部署分配单元,用于基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中,并对所述不同的机房分配对应的区域标识,所述注册中心服务用于指示对多个预置微服务实例进行注册,所述业务微服务用于指示采用所述多个预置微服务实例提供业务服务;第一解析单元,当接收到目标终端发送的域名解析请求时,用于对所述域名解析请求进行解析,得到域名地址;第二解析单元,用于通过预置域名解析服务按照第一预置负载均衡算法对所述域名地址进行域名解析,得到公网网络协议地址,并将所述公网网络协议地址发送到所述目标终端,所述第一预置负载均衡算法用于指示将所述域名地址按照预置权重分配到所述不同的机房中;分配单元,当接收到所述目标终端发送的微服务调用请求时,用于根据所述公网网络协议地址按照第二预置负载均衡算法将所述微服务调用请求分发到所述业务微服务,所述微服务调用请求为所述目标终端根据所述公网网络协议地址生成的访问请求,所述业务微服务采用任意一个预置微服务实例进行链路调用和业务响应;调用单元,当所述业务微服务之间进行链路调用时,用于调用所述区域标识相同的业务微服务。
可选的,在本发明第二方面的第一种实现方式中,所述部署分配单元具体用于:基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中,得到多个预置微服务实例,所述注册中心服务用于指示对所述多个预置微服务实例进行注册,所述业务微服务用于指示采用所述多个预置微服务实例提供业务服务;对所述不同的机房分配对应的区域标识,并将所述区域标识配置在所述机房各自的预置配置文件中;重启所述注册中心服务和所述业务微服务,将所述预置微服务实例注册到所述注册中心服务中,得到服务注册表,所述服务注册表用于指示所述预置微服务实例的名称与所述预置微服务实例的网络协议地址之间的映射关系。
可选的,在本发明第二方面的第二种实现方式中,所述第二解析单元还包括:判断子单元,用于判断所述域名地址是否存在预置域名缓存记录中;读取子单元,若所述域名地址存在所述预置域名缓存记录中,则用于按照第一预置负载均衡算法从所述预置解析记录中读取域名地址对应的公网网络协议地址,所述第一预置负载均衡算法用于指示将所述域名地址按照预置权重分配到所述不同的机房中;解析缓存子单元,若所述域名地址不存在所述预置域名缓存记录中,则用于通过预置域名解析服务按照所述第一预置负载均衡算法对所述域名地址进行域名解析,得到所述公网网络协议地址,并将所述公网网络协议地址缓存到所述预置域名缓存记录中;发送子单元,用于通过预置应用接口将所述公网网络协议地址发送到所述目标终端。
可选的,在本发明第二方面的第三种实现方式中,所述分配单元具体用于:当接收到所述目标终端发送的微服务调用请求时,解析所述微服务调用请求,得到所述公网网络协议地址,所述微服务调用请求为所述目标终端根据所述公网网络协议地址生成的访问请求;根据第二预置负载均衡算法对所述公网网络协议地址进行转换,得到所述预置微服务实例的私有地址;根据所述预置微服务实例的私有地址进行链路调用和业务响应。
可选的,在本发明第二方面的第四种实现方式中,所述调用单元具体用于:当所述业务微服务之间进行链路调用时,确定待调用的业务微服务的名称,并从所述注册中心服务中获取所述服务注册表;根据所述待调用的业务微服务的名称从服务注册表中获取多个预置微服务实例的网络协议地址,所述多个预置微服务实例属于相同的业务微服务;从所述预置配置文件中确定所述多个预置微服务实例对应的区域标识;根据所述网络协议地址按照预置流量分配机制调用所述区域标识相同的预置微服务实例。
可选的,在本发明第二方面的第五种实现方式中,所述判断子单元具体用于:根据所述域名地址查询预置域名缓存记录,得到查询数据;判断所述查询数据是否为空值;若所述查询数据为所述空值,则确定域名地址不存在预置域名缓存记录中;若所述查询数据不为所述空值,则确定所述域名地址存在所述预置域名缓存记录中。
可选的,在本发明第二方面的第六种实现方式中,所述基于微服务的负载均衡装置还包括:发送单元,用于按照预置时长定时发送探活请求到所述业务微服务的预置监控端点;接收单元,用于接收并解析所述预置监控端点返回的监控数据,得到状态值;确定单元,当检测到所述状态值为目标值时,用于确定所述业务微服务为正常存活状态;清除单元,当检测到所述状态值不为所述目标值或者发送的探活请求无响应时,用于确定所述业务微服务为宕机状态,并通过所述预置域名解析服务清除所述业务微服务对应的公网网络协议地址。
本发明第三方面提供了一种基于微服务的负载均衡设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于微服务的负载均衡设备执行上述的基于微服务的负载均衡方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的基于微服务的负载均衡方法。
本发明提供的技术方案中,基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中,并对所述不同的机房分配对应的区域标识,所述注册中心服务用于指示对多个预置微服务实例进行注册,所述业务微服务用于指示采用所述多个预置微服务实例提供业务服务;当接收到目标终端发送的域名解析请求时,对所述域名解析请求进行解析,得到域名地址;通过预置域名解析服务按照第一预置负载均衡算法对所述域名地址进行域名解析,得到公网网络协议地址,并将所述公网网络协议地址发送到所述目标终端,所述第一预置负载均衡算法用于指示将所述域名地址按照预置权重分配到所述不同的机房中;当接收到所述目标终端发送的微服务调用请求时,根据所述公网网络协议地址按照第二预置负载均衡算法将所述微服务调用请求分发到所述业务微服务,所述微服务调用请求为所述目标终端根据所述公网网络协议地址生成的访问请求,所述业务微服务采用任意一个预置微服务实例进行链路调用和业务响应;当所述业务微服务之间进行链路调用时,调用所述区域标识相同的业务微服务。本发明实施例中,通过基于服务发现框架eureka的区域zone机制,结合域名解析服务器和预置负载均衡算法进行负载均衡,实现对微服务调用请求按照区域标识进行分发,提高微服务集群流量分流正确率,并降低网络专线资源消耗。
附图说明
图1为本发明实施例中基于微服务的负载均衡方法的一个实施例示意图;
图2为本发明实施例中基于微服务的负载均衡方法的另一个实施例示意图;
图3为本发明实施例中基于微服务的负载均衡装置的一个实施例示意图;
图4为本发明实施例中基于微服务的负载均衡装置的另一个实施例示意图;
图5为本发明实施例中基于微服务的负载均衡设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种基于微服务的负载均衡方法、装置、设备及存储介质,用于通过基于服务发现框架eureka的区域zone机制,结合域名解析服务器和预置负载均衡算法进行负载均衡,实现对微服务调用请求按照区域标识进行分发,提高微服务集群流量分流正确率,并降低网络专线资源消耗。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于微服务的负载均衡方法的一个实施例包括:
101、基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中,并对不同的机房分配对应的区域标识,注册中心服务用于指示对多个预置微服务实例进行注册,业务微服务用于指示采用多个预置微服务实例提供业务服务;
可以理解的是,本发明的执行主体可以为基于微服务的负载均衡装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
服务器基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中,并对不同的机房分配对应的区域标识,注册中心服务用于指示对多个预置微服务实例进行注册,业务微服务用于指示采用多个预置微服务实例提供业务服务。其中,一个业务微服务对应多个预置微服务实例,例如,服务器基于服务发现框架eureka将注册中心服务部署在两个机房,包括观澜机房和西丽机房,观澜机房简称gl,西丽机房简称xl,gl机房和xl机房各部署4个服务发现框架eureka实例,gl机房的区域标识为zone-1,xl机房的区域标识为zone-2。其中,两个机房部署相同的业务微服务,结合网络层、主机层或应用的负载均衡技术,实现业务微服务在两个机房并行工作和负载分担,同时互相实时灾备接管。
102、当接收目标终端发送的域名解析请求时,对域名解析请求进行解析,得到域名地址;
当接收目标终端发送的域名解析请求时,服务器对域名解析请求进行解析,得到域名地址,其中,域名地址为采用主机、子域和域的形式表示的互联网地址,与数字表示的网络协议地址相对。域名地址也称作完全限定域名,通过域名解析将域名地址翻译为该域名所对应的网络协议地址后,才能正常连接目标服务器,其中,网络协议地址包括对应的端口号。
103、通过预置域名解析服务按照第一预置负载均衡算法对域名地址进行域名解析,得到公网网络协议地址,并将公网网络协议地址发送到目标终端,第一预置负载均衡算法用于指示将域名地址按照预置权重分配到不同的机房中;
服务器通过预置域名解析服务按照第一预置负载均衡算法对域名地址进行域名解析,得到公网网络协议地址,并将公网网络协议地址发送到目标终端,第一预置负载均衡算法用于指示将域名地址按照预置权重分配到不同的机房中。其中,预置域名解析服务是一个微服务系统管理机构,维护微服务系统内的每个业务微服务的网络协议地址和主机名的对应关系。在预置域名解析服务中配置了多个记录,如下所示:
A.pingan.com.cn 114.100.20.201:4201;
A.pingan.com.cn 114.100.20.202:4202;
A.pingan.com.cn 114.100.20.203:4203;
目标终端发送域名解析请求A.pingan.com.cn,服务器通过预置域名解析服务根据记录和第一预置负载均衡算法计算得到一个公网网络协议地址114.100.20.203:4201,其中4201为端口号,服务器将公网网络协议地址发送到目标终端,目标终端根据该公网网络协议地址再次发起微服务调用请求。
可以理解的是,针对每次域名解析请求,服务器都会根据第一预置负载均衡算法计算出一个公网网络协议地址并返回到目标终端,该公网网络协议地址包括端口号,这样记录中配置多个服务器就可以构成一个集群,并可以实现负载均衡。
104、当接收到目标终端发送的微服务调用请求时,根据公网网络协议地址按照第二预置负载均衡算法将微服务调用请求分发到业务微服务,微服务调用请求为目标终端根据公网网络协议地址生成的访问请求,业务微服务采用任意一个预置微服务实例进行链路调用和业务响应;
当接收到目标终端发送的微服务调用请求时,服务器根据公网网络协议地址按照第二预置负载均衡算法将微服务调用请求分发到业务微服务,微服务调用请求为目标终端根据公网网络协议地址生成的访问请求,业务微服务采用任意一个预置微服务实例进行链路调用和业务响应。其中,第二预置负载均衡算法为预先根据业务微服务的数据流导向规则和预置业务微服务的优先级设置的负载均衡分发算法,实现流量分配。具体的,服务器根据第二预置负载均衡算法对公网网络协议地址进行负载处理,得到预置微服务实例的私有地址,然后,服务器根据预置微服务实例的私有地址进行链路调用和业务响应,实现对微服务调用请求与业务微服务之间建立会话,提高多个预置微服务实例的服务性能。
105、当业务微服务之间进行链路调用时,调用区域标识相同的业务微服务。
当机房内的业务微服务进行链路调用时,服务器调用区域标识相同的业务微服务,也就是服务器会调用同一区域标识内的预置微服务实例。可以理解的是,不同的机房划分为不同的区域,不同的区域层面的负载均衡,按照就近原则进行调度;机房或集群内部的负载均衡,则主要实现流量均摊和合理利用资源。
需要说明的是,跨机房灾备的架构,通常会在相距预置公里范围以内的同座城市建设灾备数据中心,应对机房级别的故障。在同城的数据中心之间,一般通过高速光纤相连,在网络带宽有保障的前提下,网络延迟一般在可接受范围内,不同的机房之间可以认为在同一个局域网内。
本发明实施例中,通过基于服务发现框架eureka的区域zone机制,结合域名解析服务器和预置负载均衡算法进行负载均衡,实现对微服务调用请求按照区域标识进行分发,提高微服务集群流量分流正确率,并降低网络专线资源消耗。
请参阅图2,本发明实施例中基于微服务的负载均衡方法的另一个实施例包括:
201、基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中,得到多个预置微服务实例,注册中心服务用于指示对多个预置微服务实例进行注册,业务微服务用于指示采用多个预置微服务实例提供业务服务;
服务器基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中,得到多个预置微服务实例,注册中心服务用于指示对多个预置微服务实例进行注册,业务微服务用于指示采用多个预置微服务实例提供业务服务。其中,eureka为全局关键分布式系统提供服务注册和发现功能。当一个业务微服务失败、脱机或者无法访问时,另一个业务微服务快速启动并在不同的位置替换它。
需要说明的是,预置微服务实例通过eureka进行注册,微服务调用方通过eureka查询业务微服务。由于业务微服务采用集群方式提供服务,eureka也采用集群的方式来提供服务的注册与发现,集群中的eureka实例之间可以进行数据同步,所有eureka实例中的服务注册信息都是同步的。其中,集群就是将相同业务微服务部署在相同机房不同服务器上。
202、对不同的机房分配对应的区域标识,并将区域标识配置在不同的机房各自的预置配置文件中;
服务器对不同的机房分配对应的区域标识,并将区域标识配置在不同的机房各自的预置配置文件中。其中,预置配置文件为bootstrap.properties文件,例如,在机房1的微服务中,在预置配置文件中配置txt记录的区域zone为zone-1,在机房2微服务中,在预置配置文件中配置txt记录的zone为zone-2;在机房各自的预置配置文件中将eureka.instance.metadata-map.zone属性配置为区域标识,其中,eureka.instance.metadata-map.zone用于指示当前业务微服务实例属于哪个zone。
203、重启注册中心服务和业务微服务,将预置微服务实例注册到注册中心服务中,得到服务注册表,服务注册表用于指示预置微服务实例的名称与预置微服务实例的网络协议地址之间的映射关系;
服务器重启注册中心服务和业务微服务,将预置微服务实例注册到注册中心服务中,得到服务注册表,服务注册表用于指示预置微服务实例的名称与预置微服务实例的网络协议地址之间的映射关系。进一步地,服务器根据区域标识将不同的机房划分为多个区域多个集群,这些集群共用同一个eureka集群。具体的,当检测到注册中心服务和业务微服务启动时,服务器将预置微服务实例各自的网络协议地址和微服务实例名称注册到注册中心服务中;当检测到预置微服务实例启动后,服务器按照预置时长向注册中心发送心跳,预置时长为30s;当检测到注册中心服务在预置时长范围内没有接收到某个预置微服务实例的心跳时,将会注销该预置微服务实例,该预置时长范围内为90s;多个eureka实例互相之间通过复制的方式,实现服务注册表中数据的同步。也就是任意一个预置微服务实例被启动后,将其对应的网络协议地址和微服务实例名称写入到服务注册表中,当该预置服务实例运行终止时,服务器通过注册中心服务从服务注册表中删除相应的网络协议地址,进一步地,服务注册表通过心跳机制动态刷新。
举例说明,分区在zone-1和分区zone-2分别包括一个注册中心服务server1和server2,业务微服务A的4个预置微服务实例A1、A2、A3和A4,依次重启server1、server2、A1、A2、A3和A4,A1、A2注册在server1,A3和A4注册在server2,同时2个注册中心服务相互注册。当预置配置文件中eureka.client.prefer-same-zone-eureka属性为真值true时,向同一zone的注册中心服务注册。当任意一个预置微服务实例向eureka注册时,eureka将应用程序的网络协议地址与正在侦听的端口号相结合,得到该预置微服务实例唯一的网络协议地址。
204、当接收目标终端发送的域名解析请求时,对域名解析请求进行解析,得到域名地址;
当接收目标终端发送的域名解析请求时,对域名解析请求进行解析,得到域名地址。其中,域名地址采用主机、子域和域的形式表示的互联网地址,与数字表示的网络协议地址相对。域名地址也称作完全限定域名,通过域名解析将域名地址翻译为该域名所对应的网络协议地址后,才能正常连接目标服务器。
可以理解的是,域名地址与网络协议地址存在一对多的关系,同时网络协议地址可以包括端口号。
205、判断域名地址是否存在预置域名缓存记录中;
服务器判断域名地址是否存在预置域名缓存记录中,具体的,服务器根据域名地址查询预置域名缓存记录,得到查询数据;服务器判断查询数据是否为空值;若查询数据不为空值,则服务器确定域名地址存在预置域名缓存记录中;若查询数据为空值,则服务器确定域名地址不存在预置域名缓存记录中。
206、若域名地址存在预置域名缓存记录中,则按照第一预置负载均衡算法从预置解析记录中读取域名地址对应的公网网络协议地址,第一预置负载均衡算法用于指示将域名地址按照预置权重分配到不同的机房中;
若域名地址存在预置域名缓存记录中,则服务器按照第一预置负载均衡算法从预置解析记录中读取域名地址对应的公网网络协议地址,第一预置负载均衡算法用于指示将域名地址按照预置权重分配到不同的机房中,也就是在预置域名解析服务器中为同一个主机配置多个网络协议地址,服务器通过预置域名解析服务检索数据库,得到对应的公网网络协议地址。在应答域名解析查询时,所有网络协议地址按照预置权重进行解析和查询并返回不同的解析结果,将解析流量分配到不同的机房中,从而达到负载均衡的目的。其中,预置权重用于指示根据权重值为比例对业务微服务进行流量分配。例如,业务微服务A部署在gl和xl两个机房,两个机房各存在2个预置微服务实例,微服务A的域名地址为A.pingan.com.cn。在预置域名解析服务器上,配置域名解析到Agl的预置权重为10%,解析到Axl的预置权重为90%。
需要说明的是,当检测到不在域名缓存生存时长(time to live,TTL)值的范围内时,需要重新请求预置域名解析服务对域名地址进行解析,TTL值过大会导致故障发生时切换时间过长,TTL值太小会造成查询频繁,对设备和网络的压力增大。
207、若域名地址不存在预置域名缓存记录中,则通过预置域名解析服务按照第一预置负载均衡算法对域名地址进行域名解析,得到公网网络协议地址,并将公网网络协议地址缓存到预置域名缓存记录中;
若域名地址不存在预置域名缓存记录中,则服务器通过预置域名解析服务按照第一预置负载均衡算法对域名地址进行域名解析,得到公网网络协议地址,并将公网网络协议地址缓存到预置域名缓存记录中。具体的,若域名地址不存在预置域名缓存记录中,则服务器根据用户数据报方式将域名地址发送到本地域名服务器中;由本地域名服务器根据域名地址进行解析后,服务器接收本地域名服务器通过回答报文方式返回的公网网络地址;若本地域名服务器不能解析该域名地址,则向其他域名服务器发出查询请求,直到查询得到公网网络协议地址为止;将该公网网络协议地址缓存到预置域名缓存记录中。
208、通过预置应用接口将公网网络协议地址发送到目标终端;
服务器通过预置应用接口将公网网络协议地址发送到目标终端。具体的,服务器对公网网络协议地址进行封装;服务器调用预置应用接口发送封装好的公网网络协议地址到目标终端。需要说明的是,服务器通过预置域名解析服务作为第一负载均衡,即域名解析得到的公网网络协议地址和端口并不是实际提供服务的物理地址,而是同样提供负载均衡服务的虚拟网络地址,根据虚拟网络地址再次进行负载均衡,将目标终端发送的微服务调用请求发到真实的服务器上,最终完成请求访问。
209、当接收到目标终端发送的微服务调用请求时,根据公网网络协议地址按照第二预置负载均衡算法将微服务调用请求分发到业务微服务,微服务调用请求为目标终端根据公网网络协议地址生成的访问请求,业务微服务采用任意一个预置微服务实例进行链路调用和业务响应;
当接收到目标终端发送的微服务调用请求时,服务器根据公网网络协议地址按照第二预置负载均衡算法将微服务调用请求分发到业务微服务,微服务调用请求为目标终端根据公网网络协议地址生成的访问请求,业务微服务采用任意一个预置微服务实例进行链路调用和业务响应。具体的,当接收到所述目标终端发送的微服务调用请求时,服务器解析所述微服务调用请求,得到所述公网网络协议地址,微服务调用请求为目标终端根据公网网络协议地址生成的访问请求;服务器根据第二预置负载均衡算法对所述公网网络协议地址进行转换,得到所述预置微服务实例的私有地址,进一步地,服务器根据公网网络协议地址查询预设配置,得到配置信息,其中,预设配置包括公网网络协议地址与预置微服务实例的网络协议地址之间的路由关系,服务器根据第二预置负载均衡算法从配置信息中确定预置微服务实例的私有地址;服务器根据预置微服务实例的私有地址进行链路调用和业务响应。
210、当业务微服务之间进行链路调用时,调用区域标识相同的业务微服务。
当业务微服务之间进行链路调用时,服务器调用区域标识相同的业务微服务。也就是服务器会调用同一区域标识内的业务微服务。不同的机房划分为不同的区域,不同的区域层面的负载均衡,按照就近原则进行调度;机房或集群内部的负载均衡,则主要实现流量均摊和合理利用资源。
具体的,当业务微服务进行链路调用时,服务器确定待调用的业务微服务的名称,并从注册中心服务中获取服务注册表;服务器根据待调用的业务微服务的名称从服务注册表中获取多个预置微服务实例的网络协议地址,多个待调用的预置微服务实例属于相同的业务微服务;服务器从预置配置文件中确定多个预置微服务实例对应的区域标识,进一步地,服务器从多个待调用的预置微服务实例对应的预置配置文件中读取eureka.instance.metadata-map.zone属性值,服务器判断属性值与调用方的业务微服务的区域标识是否相同,若属性值与调用方的业务微服务的区域标识相同,则服务器将属性值对应的待调用的预置微服务实例进行优先排序;服务器根据网络协议地址和端口号按照预置流量分配机制调用区域标识相同的预置微服务实例。
可选的,服务器按照预置时长定时发送探活请求到业务微服务的预置监控端点;服务器接收并解析预置监控端点返回的监控数据,得到状态值;当检测到状态值为目标值时,服务器确定业务微服务为正常存活;当检测到状态值不为目标值或者发送的探活请求无响应时,服务器确定业务微服务为宕机状态,并通过预置域名解析服务清除该业务微服务对应的公网网络协议地址。
本发明实施例中,通过基于服务发现框架eureka的区域zone机制,结合域名解析服务器进行负载均衡,实现对微服务调用请求按照区域标识进行分发,提高微服务集群流量分流正确率,并降低网络专线资源消耗。
上面对本发明实施例中基于微服务的负载均衡方法进行了描述,下面对本发明实施例中基于微服务的负载均衡装置进行描述,请参阅图3,本发明实施例中基于微服务的负载均衡装置的一个实施例包括:
部署分配单元301,用于基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中,并对不同的机房分配对应的区域标识,注册中心服务用于指示对多个预置微服务实例进行注册,业务微服务用于指示采用多个预置微服务实例提供业务服务;
第一解析单元302,当接收到目标终端发送的域名解析请求时,用于对域名解析请求进行解析,得到域名地址;
第二解析单元303,用于通过预置域名解析服务按照第一预置负载均衡算法对域名地址进行域名解析,得到公网网络协议地址,并将公网网络协议地址发送到目标终端,第一预置负载均衡算法用于指示将域名地址按照预置权重分配到不同的机房中;
分配单元304,当接收到目标终端发送的微服务调用请求时,用于根据公网网络协议地址按照第二预置负载均衡算法将微服务调用请求分发到业务微服务,微服务调用请求为目标终端根据公网网络协议地址生成的访问请求,业务微服务采用任意一个预置微服务实例进行链路调用和业务响应;
调用单元305,当业务微服务之间进行链路调用时,用于调用区域标识相同的业务微服务。
本发明实施例中,通过基于服务发现框架eureka的区域zone机制,结合域名解析服务器和预置负载均衡算法进行负载均衡,实现对微服务调用请求按照区域标识进行分发,提高微服务集群流量分流正确率,并降低网络专线资源消耗。
请参阅图4,本发明实施例中基于微服务的负载均衡装置的另一个实施例包括:
部署分配单元301,用于基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中,并对不同的机房分配对应的区域标识,注册中心服务用于指示对多个预置微服务实例进行注册,业务微服务用于指示采用多个预置微服务实例提供业务服务;
第一解析单元302,当接收到目标终端发送的域名解析请求时,用于对域名解析请求进行解析,得到域名地址;
第二解析单元303,用于通过预置域名解析服务按照第一预置负载均衡算法对域名地址进行域名解析,得到公网网络协议地址,并将公网网络协议地址发送到目标终端,第一预置负载均衡算法用于指示将域名地址按照预置权重分配到不同的机房中;
分配单元304,当接收到目标终端发送的微服务调用请求时,用于根据公网网络协议地址按照第二预置负载均衡算法将微服务调用请求分发到业务微服务,微服务调用请求为目标终端根据公网网络协议地址生成的访问请求,业务微服务采用任意一个预置微服务实例进行链路调用和业务响应;
调用单元305,当业务微服务之间进行链路调用时,用于调用区域标识相同的业务微服务。
可选的,部署分配单元301还可以具体用于:
基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中,得到多个预置微服务实例,注册中心服务用于指示对多个预置微服务实例进行注册,业务微服务用于指示采用多个预置微服务实例提供业务服务;
对不同的机房分配对应的区域标识,并将区域标识配置在不同的机房各自的预置配置文件中;
重启注册中心服务和业务微服务,将预置微服务实例注册到注册中心服务中,得到服务注册表,服务注册表用于指示预置微服务实例的名称与预置微服务实例的网络协议地址之间的映射关系。
可选的,第二解析单元303还可以进一步包括:
判断子单元3031,用于判断域名地址是否存在预置域名缓存记录中;
读取子单元3032,若域名地址存在预置域名缓存记录中,则用于按照第一预置负载均衡算法从预置解析记录中读取域名地址对应的公网网络协议地址,第一预置负载均衡算法用于指示将域名地址按照预置权重分配到不同的机房中;
解析缓存子单元3033,若域名地址不存在预置域名缓存记录中,则用于通过预置域名解析服务按照第一预置负载均衡算法对域名地址进行域名解析,得到公网网络协议地址,并将公网网络协议地址缓存到预置域名缓存记录中;
发送子单元3034,用于通过预置应用接口将公网网络协议地址发送到目标终端。
可选的,分配单元304还可以具体用于:
当接收到目标终端发送的微服务调用请求时,解析微服务调用请求,得到公网网络协议地址,微服务调用请求为目标终端根据公网网络协议地址生成的访问请求;
根据第二预置负载均衡算法将公网网络协议地址进行转换,得到预置微服务实例的私有地址;
根据预置微服务实例的私有地址进行链路调用和业务响应。
可选的,调用单元305还可以具体用于:
当业务微服务之间进行链路调用时,待调用的业务微服务的名称,并从注册中心服务中获取服务注册表;
根据待调用的业务微服务的名称从服务注册表中获取多个预置微服务实例的网络协议地址,多个预置微服务实例属于相同的业务微服务;
从预置配置文件中确定多个待调用的预置微服务实例对应的区域标识;
根据网络协议地址按照预置流量分配机制调用区域标识相同的预置微服务实例。
可选的,判断子单元3031还可以具体用于:
根据域名地址查询预置域名缓存记录,得到查询数据;
判断查询数据是否为空值;
若查询数据为空值,则确定域名地址不存在预置域名缓存记录中;
若查询数据不为空值,则确定域名地址存在预置域名缓存记录中。
可选的,基于微服务的负载均衡装置还可以进一步包括:
发送单元306,用于按照预置时长定时发送探活请求到业务微服务的预置监控端点;
接收单元307,用于接收并解析预置监控端点返回的监控数据,得到状态值;
确定单元308,当检测到状态值为目标值时,用于确定业务微服务为正常存活状态;
清除单元309,当检测到状态值不为目标值或者发送的探活请求无响应时,用于确定业务微服务为宕机状态,并通过预置域名解析服务清除业务微服务对应的公网网络协议地址。
本发明实施例中,通过基于服务发现框架eureka的区域zone机制,结合域名解析服务器和预置负载均衡算法进行负载均衡,实现对基于微服务调用请求按照区域标识进行分发,提高微服务集群流量分流正确率,并降低网络专线资源消耗。
上面图3和图4从模块化功能实体的角度对本发明实施例中的基于微服务的负载均衡装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于微服务的负载均衡设备进行详细描述。
图5是本发明实施例提供的一种基于微服务的负载均衡设备的结构示意图,该基于微服务的负载均衡设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)501(例如,一个或一个以上处理器)和存储器509,一个或一个以上存储应用程序507或数据506的存储介质508(例如一个或一个以上海量存储设备)。其中,存储器509和存储介质508可以是短暂存储或持久存储。存储在存储介质508的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于微服务的负载均衡设备中的一系列指令操作。更进一步地,处理器501可以设置为与存储介质508通信,在基于微服务的负载均衡设备500上执行存储介质508中的一系列指令操作。
基于微服务的负载均衡设备500还可以包括一个或一个以上电源502,一个或一个以上有线或无线网络接口503,一个或一个以上输入输出接口504,和/或,一个或一个以上操作系统505,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5中示出的基于微服务的负载均衡设备结构并不构成对基于微服务的负载均衡设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种基于微服务的负载均衡方法,其特征在于,包括:
基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中,得到多个预置微服务实例,所述注册中心服务用于指示对多个预置微服务实例进行注册,所述业务微服务用于指示采用所述多个预置微服务实例提供业务服务;
对所述不同的机房分配对应的区域标识,并将所述区域标识配置在所述不同的机房各自的预置配置文件中;
重启所述注册中心服务和所述业务微服务,将所述预置微服务实例注册到所述注册中心服务中,得到服务注册表,所述服务注册表用于指示所述预置微服务实例的名称与所述预置微服务实例的网络协议地址之间的映射关系;
当接收到目标终端发送的域名解析请求时,对所述域名解析请求进行解析,得到域名地址;
通过预置域名解析服务按照第一预置负载均衡算法对所述域名地址进行域名解析,得到公网网络协议地址,并将所述公网网络协议地址发送到所述目标终端,所述第一预置负载均衡算法用于指示将所述域名地址按照预置权重分配到所述不同的机房中;
当接收到所述目标终端发送的微服务调用请求时,根据所述公网网络协议地址按照第二预置负载均衡算法将所述微服务调用请求分发到所述业务微服务,所述微服务调用请求为所述目标终端根据所述公网网络协议地址生成的访问请求,所述业务微服务采用任意一个预置微服务实例进行链路调用和业务响应;
当所述业务微服务之间进行链路调用时,调用所述区域标识相同的业务微服务;
所述当所述业务微服务之间进行链路调用时,调用所述区域标识相同的业务微服务包括:
当所述业务微服务之间进行链路调用时,确定待调用的业务微服务的名称,并从所述注册中心服务中获取所述服务注册表;
根据所述待调用的业务微服务的名称从服务注册表中获取多个预置微服务实例的网络协议地址,所述多个预置微服务实例属于相同的业务微服务;
从所述预置配置文件中确定所述多个预置微服务实例对应的区域标识;
根据所述网络协议地址按照预置流量分配机制调用所述区域标识相同的预置微服务实例。
2.根据权利要求1所述的基于微服务的负载均衡方法,其特征在于,所述通过预置域名解析服务按照第一预置负载均衡算法对所述域名地址进行域名解析,得到公网网络协议地址,并将所述公网网络协议地址发送到所述目标终端,所述第一预置负载均衡算法用于指示将所述域名地址按照预置权重分配到所述不同的机房中,包括:
判断所述域名地址是否存在预置域名缓存记录中;
若所述域名地址存在所述预置域名缓存记录中,则按照第一预置负载均衡算法从预置解析记录中读取域名地址对应的公网网络协议地址,所述第一预置负载均衡算法用于指示将所述域名地址按照预置权重分配到所述不同的机房中;
若所述域名地址不存在所述预置域名缓存记录中,则通过预置域名解析服务按照所述第一预置负载均衡算法对所述域名地址进行域名解析,得到所述公网网络协议地址,并将所述公网网络协议地址缓存到所述预置域名缓存记录中;
通过预置应用接口将所述公网网络协议地址发送到所述目标终端。
3.根据权利要求2所述的基于微服务的负载均衡方法,其特征在于,所述当接收到所述目标终端发送的微服务调用请求时,根据所述公网网络协议地址按照第二预置负载均衡算法将所述微服务调用请求分发到所述业务微服务,所述微服务调用请求为所述目标终端根据所述公网网络协议地址生成的访问请求,所述业务微服务采用任意一个预置微服务实例进行链路调用和业务响应,包括:
当接收到所述目标终端发送的微服务调用请求时,解析所述微服务调用请求,得到所述公网网络协议地址,所述微服务调用请求为所述目标终端根据所述公网网络协议地址生成的访问请求;
根据第二预置负载均衡算法对所述公网网络协议地址进行转换,得到所述预置微服务实例的私有地址;
根据所述预置微服务实例的私有地址进行链路调用和业务响应。
4.根据权利要求2所述的基于微服务的负载均衡方法,其特征在于,所述判断所述域名地址是否存在预置域名缓存记录中包括:
根据所述域名地址查询预置域名缓存记录,得到查询数据;
判断所述查询数据是否为空值;
若所述查询数据为所述空值,则确定域名地址不存在预置域名缓存记录中;
若所述查询数据不为所述空值,则确定所述域名地址存在所述预置域名缓存记录中。
5.根据权利要求1至4中任一项所述的基于微服务的负载均衡方法,其特征在于,所述根据网络协议地址按照预置流量分配机制调用区域标识相同的业务微服务之后,所述基于微服务的负载均衡方法还包括:
按照预置时长定时发送探活请求到所述业务微服务的预置监控端点;
接收并解析所述预置监控端点返回的监控数据,得到状态值;
当检测到所述状态值为目标值时,确定所述业务微服务为正常存活状态;
当检测到所述状态值不为所述目标值或者发送的探活请求无响应时,确定所述业务微服务为宕机状态,并通过所述预置域名解析服务清除所述业务微服务对应的公网网络协议地址。
6.一种基于微服务的负载均衡装置,其特征在于,所述基于微服务的负载均衡装置执行如权利要求1-5中任意一项所述的基于微服务的负载均衡方法,所述基于微服务的负载均衡装置包括:
部署分配单元,用于基于服务发现框架eureka将注册中心服务和业务微服务部署到不同的机房中,并对所述不同的机房分配对应的区域标识,所述注册中心服务用于指示对多个预置微服务实例进行注册,所述业务微服务用于指示采用所述多个预置微服务实例提供业务服务;
第一解析单元,当接收到目标终端发送的域名解析请求时,用于对所述域名解析请求进行解析,得到域名地址;
第二解析单元,用于通过预置域名解析服务按照第一预置负载均衡算法对所述域名地址进行域名解析,得到公网网络协议地址,并将所述公网网络协议地址发送到所述目标终端,所述第一预置负载均衡算法用于指示将所述域名地址按照预置权重分配到所述不同的机房中;
分配单元,当接收到所述目标终端发送的微服务调用请求时,用于根据所述公网网络协议地址按照第二预置负载均衡算法将所述微服务调用请求分发到所述业务微服务,所述微服务调用请求为所述目标终端根据所述公网网络协议地址生成的访问请求,所述业务微服务采用任意一个预置微服务实例进行链路调用和业务响应;
调用单元,当所述业务微服务之间进行链路调用时,用于调用所述区域标识相同的业务微服务。
7.一种基于微服务的负载均衡设备,其特征在于,所述基于微服务的负载均衡设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于微服务的负载均衡设备执行如权利要求1-5中任意一项所述的基于微服务的负载均衡方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任意一项所述的基于微服务的负载均衡方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010156707.7A CN111464592B (zh) | 2020-03-09 | 2020-03-09 | 基于微服务的负载均衡方法、装置、设备及存储介质 |
PCT/CN2020/099576 WO2021179493A1 (zh) | 2020-03-09 | 2020-06-30 | 基于微服务的负载均衡方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010156707.7A CN111464592B (zh) | 2020-03-09 | 2020-03-09 | 基于微服务的负载均衡方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111464592A CN111464592A (zh) | 2020-07-28 |
CN111464592B true CN111464592B (zh) | 2023-07-25 |
Family
ID=71680026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010156707.7A Active CN111464592B (zh) | 2020-03-09 | 2020-03-09 | 基于微服务的负载均衡方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111464592B (zh) |
WO (1) | WO2021179493A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897641B (zh) * | 2020-08-03 | 2023-07-28 | 海信电子科技(武汉)有限公司 | 微服务监控调度方法及显示设备 |
CN112449005B (zh) * | 2020-11-11 | 2023-11-17 | 北京水滴科技集团有限公司 | 请求分配方法、装置、电子设备及可读存储介质 |
CN112583951B (zh) * | 2020-12-03 | 2022-08-26 | 平安科技(深圳)有限公司 | 应用层双活方法、装置、设备及存储介质 |
CN112738339B (zh) * | 2020-12-29 | 2022-09-23 | 杭州东信北邮信息技术有限公司 | 一种电信域微服务架构下的服务实例无损扩缩容方法 |
CN114979189A (zh) * | 2021-02-19 | 2022-08-30 | 上海宝信软件股份有限公司 | 基于元数据的时空大数据rest微服务数据交互方法和系统 |
CN115242700B (zh) * | 2021-04-23 | 2024-03-22 | 网联清算有限公司 | 一种通信传输方法、装置及系统 |
CN113407382B (zh) * | 2021-06-15 | 2022-04-01 | 北京城建设计发展集团股份有限公司 | 一种服务故障动态调控方法与系统 |
CN113301166B (zh) * | 2021-06-16 | 2023-04-07 | 杭州华橙软件技术有限公司 | 服务的调用方法及装置、存储介质、电子装置 |
CN114143324A (zh) * | 2021-10-27 | 2022-03-04 | 上海卓悠网络科技有限公司 | 一种基于应用市场架构的负载均衡方法及设备 |
CN114390109B (zh) * | 2021-12-13 | 2024-02-20 | 中国银联股份有限公司 | 一种业务处理方法、微服务网关及数据中心系统 |
CN114390059B (zh) * | 2021-12-29 | 2024-02-06 | 中国电信股份有限公司 | 一种业务处理系统及业务处理方法 |
CN114448686B (zh) * | 2022-01-14 | 2024-01-05 | 武汉三江中电科技有限责任公司 | 一种基于微服务的跨网络通信装置与方法 |
CN114666413A (zh) * | 2022-03-31 | 2022-06-24 | 北京奇艺世纪科技有限公司 | 路由方法、装置、设备和可读存储介质 |
CN114697339A (zh) * | 2022-04-08 | 2022-07-01 | 中国银行股份有限公司 | 集中式架构下的负载均衡方法及装置 |
CN114844951B (zh) * | 2022-04-22 | 2024-03-19 | 百果园技术(新加坡)有限公司 | 请求处理方法、系统、设备、存储介质及产品 |
CN114827277B (zh) * | 2022-05-06 | 2023-12-01 | 北京思特奇信息技术股份有限公司 | 基于多机房容器部署的微服务系统及方法 |
CN115134412A (zh) * | 2022-06-28 | 2022-09-30 | 中国工商银行股份有限公司 | 服务调用方法、装置、电子设备及计算机可读存储介质 |
CN115037653B (zh) * | 2022-06-28 | 2023-10-13 | 北京奇艺世纪科技有限公司 | 业务流量监控方法、装置、电子设备和存储介质 |
CN115118652A (zh) * | 2022-07-18 | 2022-09-27 | 中信百信银行股份有限公司 | 路由分配方法、装置和设备及存储介质 |
CN115426248B (zh) * | 2022-08-01 | 2023-10-20 | 中国人民银行数字货币研究所 | 服务管理方法、装置、设备及存储介质 |
CN115412530B (zh) * | 2022-08-30 | 2024-01-30 | 上海道客网络科技有限公司 | 一种多集群场景下服务的域名解析方法及系统 |
CN115658078B (zh) * | 2022-12-27 | 2023-03-17 | 金篆信科有限责任公司 | 数据库的预编译处理方法、装置、设备及介质 |
CN117097621B (zh) * | 2023-10-18 | 2024-03-19 | 易方信息科技股份有限公司 | 基于服务发现动态权重的方法、系统、设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959138A (zh) * | 2016-04-29 | 2016-09-21 | 深圳前海大数点科技有限公司 | 基于云计算的微服务动态部署的系统及方法 |
CN109257440A (zh) * | 2018-10-29 | 2019-01-22 | 南京南瑞信息通信科技有限公司 | 一种基于服务注册中心的服务发现和客户端负载均衡方法 |
CN109714319A (zh) * | 2018-12-06 | 2019-05-03 | 深圳市中农网有限公司 | 微服务的管理系统、方法、装置、计算机设备及存储介质 |
CN110336753A (zh) * | 2019-06-19 | 2019-10-15 | 腾讯科技(深圳)有限公司 | 一种跨网络区域的服务调用方法、装置、设备及存储介质 |
CN110633175A (zh) * | 2019-09-27 | 2019-12-31 | 掌阅科技股份有限公司 | 基于微服务的多机房数据处理方法、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9716617B1 (en) * | 2016-06-14 | 2017-07-25 | ShieldX Networks, Inc. | Dynamic, load-based, auto-scaling network security microservices architecture |
CN108418862B (zh) * | 2018-01-31 | 2021-01-22 | 金蝶软件(中国)有限公司 | 基于人工智能服务云平台的微服务管理方法和系统 |
CN110224860B (zh) * | 2019-05-17 | 2023-05-26 | 平安科技(深圳)有限公司 | 负载均衡应用创建方法、装置、计算机设备及存储介质 |
CN110149397A (zh) * | 2019-05-20 | 2019-08-20 | 湖北亿咖通科技有限公司 | 一种微服务整合方法和装置 |
-
2020
- 2020-03-09 CN CN202010156707.7A patent/CN111464592B/zh active Active
- 2020-06-30 WO PCT/CN2020/099576 patent/WO2021179493A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959138A (zh) * | 2016-04-29 | 2016-09-21 | 深圳前海大数点科技有限公司 | 基于云计算的微服务动态部署的系统及方法 |
CN109257440A (zh) * | 2018-10-29 | 2019-01-22 | 南京南瑞信息通信科技有限公司 | 一种基于服务注册中心的服务发现和客户端负载均衡方法 |
CN109714319A (zh) * | 2018-12-06 | 2019-05-03 | 深圳市中农网有限公司 | 微服务的管理系统、方法、装置、计算机设备及存储介质 |
CN110336753A (zh) * | 2019-06-19 | 2019-10-15 | 腾讯科技(深圳)有限公司 | 一种跨网络区域的服务调用方法、装置、设备及存储介质 |
CN110633175A (zh) * | 2019-09-27 | 2019-12-31 | 掌阅科技股份有限公司 | 基于微服务的多机房数据处理方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111464592A (zh) | 2020-07-28 |
WO2021179493A1 (zh) | 2021-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111464592B (zh) | 基于微服务的负载均衡方法、装置、设备及存储介质 | |
US6954784B2 (en) | Systems, method and computer program products for cluster workload distribution without preconfigured port identification by utilizing a port of multiple ports associated with a single IP address | |
JP5458308B2 (ja) | 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置 | |
CN111615066B (zh) | 一种基于广播的分布式微服务注册及调用方法 | |
US11928514B2 (en) | Systems and methods providing serverless DNS integration | |
US20130159487A1 (en) | Migration of Virtual IP Addresses in a Failover Cluster | |
JP2016520904A (ja) | 分散型ロードバランサにおける非対称パケットフロー | |
CN112042170B (zh) | 用于虚拟机的节点上dhcp实现 | |
US11349706B2 (en) | Two-channel-based high-availability | |
CN112953982B (zh) | 一种服务处理的方法、服务配置的方法以及相关装置 | |
CN112637332A (zh) | 一种服务注册发现方法和系统 | |
US10523822B2 (en) | Methods, systems, and computer readable storage devices for adjusting the use of virtual resources providing communication services based on load | |
CN115086330A (zh) | 跨集群负载均衡系统 | |
US10827042B2 (en) | Traffic optimization for multi-node applications | |
KR20110063328A (ko) | 물리적 인터페이스 질의 및 선택을 갖는 원격 프로지져 로출(rpc) 바인드 서비스 | |
WO2023088924A1 (en) | Prioritizing data replication packets in cloud environment | |
CN115705198A (zh) | 运行容器组的节点,容器组的管理系统和方法 | |
WO2023207189A1 (zh) | 负载均衡方法及系统、计算机存储介质、电子设备 | |
US8972604B1 (en) | Network address retention and assignment | |
CN109005071B (zh) | 一种决策部署方法和调度设备 | |
JP4021780B2 (ja) | 計算機ノード、クラスタシステム、クラスタ管理方法、クラスタ管理プログラム | |
US10791088B1 (en) | Methods for disaggregating subscribers via DHCP address translation and devices thereof | |
CN114024971B (zh) | 业务数据处理方法、Kubernetes集群及介质 | |
CN114008599B (zh) | 具有自动故障转移的远程控制平面 | |
CN111586153B (zh) | 一种用于云平台的通信方法及装置 |
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 |