CN112383639A - 微服务均衡方法及装置 - Google Patents

微服务均衡方法及装置 Download PDF

Info

Publication number
CN112383639A
CN112383639A CN202011387944.0A CN202011387944A CN112383639A CN 112383639 A CN112383639 A CN 112383639A CN 202011387944 A CN202011387944 A CN 202011387944A CN 112383639 A CN112383639 A CN 112383639A
Authority
CN
China
Prior art keywords
address information
server address
service
micro
server
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.)
Granted
Application number
CN202011387944.0A
Other languages
English (en)
Other versions
CN112383639B (zh
Inventor
王健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202011387944.0A priority Critical patent/CN112383639B/zh
Publication of CN112383639A publication Critical patent/CN112383639A/zh
Application granted granted Critical
Publication of CN112383639B publication Critical patent/CN112383639B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开关于一种微服务均衡方法及装置,其中方法应用于服务发现方,服务器发现方存储用于执行目标功能中一微服务的服务器地址信息集合,且,服务器地址信息集合按照服务器对微服务的执行时长排序;接收多个客户端对微服务的多个调用请求,并将多个调用请求存储至微服务对应的调用请求集合中;按照执行目标功能所需的剩余时长,对调用请求集合执行排序操作;分发服务器地址信息集合中的服务器地址信息至调用请求集合中的调用请求对应的客户端,其中,服务器地址信息的执行时长与调用请求的剩余时长逆相关。本公开可以按照执行时长和剩余时长来合理分配服务器地址信息,所以可以尽量保证不同电子终端中客户端对于相同目标功能的执行时长尽量一致。

Description

微服务均衡方法及装置
技术领域
本公开涉及互联网技术领域,尤其涉及微服务均衡方法及装置。
背景技术
随着互联网技术的进步、逐步出现微服务架构(Micro service Architecture),微服务架构是一种架构概念,旨在通过将功能分解到各个离散的微服务中、以实现对功能的解耦。也即,一个功能可以由多个连续的微服务来实现,排列在前的微服务可以调用排列在后的微服务,多个连续的微服务执行完毕后可以实现功能。
相关技术中,在微服务架构中具有多个执行微服务的服务器,每个服务器可以执行一个或多个微服务。客户端向服务端发起一个微服务的调用请求后,服务端会采用就近原则确定执行微服务的服务器地址信息,也即服务发现方从物理位置上查询与客户端距离最近的一个服务器,并确定该服务器能够执行该微服务的服务器地址信息,并发送至客户端。
就近原则可以在一定程度上可以减少客户端到服务器之间的调用时间,但是,与客户端物理距离最近的服务器的空闲资源情况不明,可能空闲资源较多可以立即响应调用请求并执行该微服务,可能空闲资源较少需要等待一段时间后再响应调用请求并执行该微服务。
在多个客户端情况下,则具有与多个客户端距离最近的多个不同服务器。由于不同服务器的空闲资源情况不同,所以不同客户端调用同一微服务的执行时长也不同。一个功能由多个连续微服务实现,在不同微服务的执行时长不尽相同的情况下,不同客户端对同一功能执行时长不尽相同,这非常影响用户对同一功能的交互体验。
发明内容
本公开提供一种微服务均衡方法及装置,以至少解决相关技术中不同客户端对同一功能的执行时长不尽相同的问题,进而提升不同客户端对同一功能的交互体验。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种微服务均衡方法,所述方法包括:
存储用于执行目标功能中一微服务的服务器地址信息集合,且,所述服务器地址信息集合按照服务器对所述微服务的执行时长排序;
接收多个客户端对所述微服务的多个调用请求,并将所述多个调用请求存储至所述微服务对应的调用请求集合中;其中,所述调用请求包括:所述目标功能的已执行时长和预设执行时长;
将所述多个调用请求中预设执行时长与已执行时长的差值,作为执行所述目标功能所需的剩余时长;按照执行所述目标功能所需的剩余时长,对所述调用请求集合执行排序操作;
基于排序后的调用请求集合以及排序后的服务器地址信息集合,分发所述服务器地址信息集合中的服务器地址信息,至所述调用请求集合中的调用请求对应的客户端,以供客户端利用服务器地址信息调用所述微服务;其中,服务器地址信息的执行时长与调用请求的剩余时长逆相关。
其中,所述基于排序后的调用请求集合以及排序后的服务器地址信息集合,分发所述服务器地址信息集合中的服务器地址信息,至所述调用请求集合中的调用请求对应的客户端,包括:
分发所述服务器地址信息集合中执行时长最小的服务器地址信息,至所述调用请求集合中剩余时长最大的调用请求对应的客户端;
删除所述服务器地址信息集合中执行时长最小的服务器地址信息,以及,删除所述调用请求集合中剩余时长最大的调用请求;
在所述微服务的时间片内重复执行上面两个步骤,其中,时间片为服务器发现方预先为微服务设定的时间段;
在所述微服务的时间片使用完毕之后,切换至下一个微服务。
其中,还包括哈希表,哈希表的主键为表示所述微服务的微服务标识,键值与为所述微服务标识对应的所述服务器地址信息集合;
其中,所述服务器地址信息集合采用最小堆方式,所述最小堆的多个堆节点表示多个服务器地址信息,且,所述多个堆节点按照服务器对所述微服务的执行时长由小至大排序。
其中,所述删除所述服务器地址信息集合中执行时长最小的服务器地址信息包括:
移除所述最小堆的堆顶,并重新生成最小堆的堆顶。
其中,还包括:
在所述客户端对所述微服务的调用结束后,接收所述客户端发送的服务器地址信息和服务器对所述微服务的最新执行时长;
构建与服务器地址信息对应的堆节点,并按最新执行时长、将所述堆节点插入所述最小堆中。
其中,所述按照执行所述目标功能所需的剩余时长,对所述调用请求集合执行排序操作包括:
按照执行所述目标功能所需的剩余时长,对所述调用请求集合中多个调用请求按从大至小排序。
其中,所述服务器地址信息集合按照服务器对所述微服务的执行时长排序包括:
所述服务器地址信息集合按照服务器对所述微服务的执行时长由小至大排序。
其中,所述已执行时长的字段和所述预设执行时长的字段,设置于所述调用请求中已有的追踪参数中根据本公开实施例的第二方面,提供一种微服务均衡方法,应用于客户端,所述方法包括:
接收目标功能的起始时间以及预设执行时长;
将当前时间与所述起始时间的差值作为所述目标功能的已执行时长;
在客户端调用所述微服务时,构建对所述微服务的调用请求;其中,所述调用请求包括所述目标功能的已执行时长和预设执行时长;
向服务发现方发送对目标功能中一微服务的调用请求;
接收所述服务发现方反馈的服务器地址信息;其中,所述服务器地址信息为所述服务发现方从多个不同执行时长的服务器地址信息中,依据所述目标功能所需的剩余时长确定的服务器地址信息,且,服务器地址信息的执行时长与调用请求的剩余时长逆相关;
利用所述服务器地址信息对应的服务器执行所述微服务。
其中,在利用所述服务器地址信息对应的服务器执行所述微服务之后,还包括:
在所述客户端对所述微服务调用结束后,将本次服务器对微服务的执行时长作为最新执行时长;
发送所述服务器地址信息和服务器对所述微服务的最新执行时长至所述服务发现方。
根据本公开实施例的第三方面,提供一种微服务均衡装置,包括:
存储单元,被配置为存储用于执行目标功能中一微服务的服务器地址信息集合,且,所述服务器地址信息集合按照服务器对所述微服务的执行时长排序;
接收单元,被配置为接收多个客户端对所述微服务的多个调用请求,并将所述多个调用请求存储至所述微服务对应的调用请求集合中;其中,所述调用请求包括:所述目标功能的已执行时长和预设执行时长;
排序单元,被配置为将所述多个调用请求中预设执行时长与已执行时长的差值,作为执行所述目标功能所需的剩余时长;按照执行所述目标功能所需的剩余时长,对所述调用请求集合执行排序操作;
分发单元,被配置为基于排序后的调用请求集合以及排序后的服务器地址信息集合,分发所述服务器地址信息集合中的服务器地址信息,至所述调用请求集合中的调用请求对应的客户端,以供客户端利用服务器地址信息调用所述微服务;其中,服务器地址信息的执行时长与调用请求的剩余时长逆相关。
其中,所述分发单元,被配置为:
分发所述服务器地址信息集合中执行时长最小的服务器地址信息,至所述调用请求集合中剩余时长最大的调用请求对应的客户端;
删除所述服务器地址信息集合中执行时长最小的服务器地址信息,以及,删除所述调用请求集合中剩余时长最大的调用请求;
在所述微服务的时间片内重复执行上面两个步骤,其中,时间片为服务器发现方预先为微服务设定的时间段;
在所述微服务的时间片使用完毕之后,切换至下一个微服务。
其中,还包括哈希表,哈希表的主键为表示所述微服务的微服务标识,键值与为所述微服务标识对应的所述服务器地址信息集合;
其中,所述服务器地址信息集合采用最小堆方式,所述最小堆的多个堆节点表示多个服务器地址信息,且,所述多个堆节点按照服务器对所述微服务的执行时长由小至大排序。
其中,所述删除所述服务器地址信息集合中执行时长最小的服务器地址信息被配置为:移除所述最小堆的堆顶,并重新生成最小堆的堆顶。
其中,还包括插入单元;
插入单元,被配置为在所述客户端对所述微服务的调用结束后,接收所述客户端发送的服务器地址信息和服务器对所述微服务的最新执行时长;构建与服务器地址信息对应的堆节点,并按最新执行时长、将所述堆节点插入所述最小堆中。
其中,所述按照执行所述目标功能所需的剩余时长,对所述调用请求集合执行排序操作被配置为:
按照执行所述目标功能所需的剩余时长,对所述调用请求集合中多个调用请求按从大至小排序。
其中,所述服务器地址信息集合按照服务器对所述微服务的执行时长排序包括:
所述服务器地址信息集合按照服务器对所述微服务的执行时长由小至大排序。
其中,所述已执行时长的字段和所述预设执行时长的字段,设置于所述调用请求中已有的追踪参数中。
根据本公开实施例的第四方面提供了一种微服务均衡装置,应用于客户端,所述装置包括:
一种微服务均衡装置,应用于客户端,所述装置包括:
构建单元,被配置为接收目标功能的起始时间以及预设执行时长;将当前时间与所述起始时间的差值作为所述目标功能的已执行时长;在客户端调用所述微服务时,构建对所述微服务的调用请求;其中,所述调用请求包括所述目标功能的已执行时长和预设执行时长;
发送单元,用于向服务发现方发送对目标功能中一微服务的调用请求;
接收单元,用于接收所述服务发现方反馈的服务器地址信息;其中,所述服务器地址信息为所述服务发现方从多个不同执行时长的服务器地址信息中,依据所述目标功能所需的剩余时长确定的服务器地址信息,且,服务器地址信息的执行时长与调用请求的剩余时长逆相关;
执行单元,用于利用所述服务器地址信息对应的服务器执行所述微服务。
其中,还包括:
发送单元,被配置为在利用所述服务器地址信息对应的服务器执行所述微服务之后,在所述客户端对所述微服务调用结束后,将本次服务器对微服务的执行时长作为最新执行时长;发送所述服务器地址信息和服务器对所述微服务的最新执行时长至所述服务发现方。
根据本公开实施例的第五方面,提供一种服务器,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的微服务均衡方法。
根据本公开实施例的第六方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现第二方面所述的微服务均衡方法。
根据本公开实施例的第七方面,提供一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如第一方面所述的微服务均衡方法。
根据本公开实施例的第八方面,提供一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如第二方面所述的微服务均衡方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
对于目标功能中每一微服务的执行过程均是一致的,以一个微服务为例:
本公开需要服务发现方存储用于实现目标功能中一微服务的服务器地址信息集合,且,服务器地址信息集合按照服务器对微服务的执行时长排序。
服务发现方还会构建微服务的调用请求集合,且,调用请求集合中的调用请求按照实现目标功能所需的剩余时长排序,具体而言:客户端发出的调用请求中包括实现目标功能的预设执行时长和已执行时长,将预设执行时长与已执行时长的差值,作为该调用请求实现目标功能所需的剩余时长,并对所述调用请求集合执行排序操作。
最后,将服务器地址信息集合中的服务器地址信息分发至调用请求集合中的调用请求对应的客户端,并且,分发原则更改为服务器地址信息的执行时长与调用请求的剩余时长逆相关原则,也即在分发过程中执行时长较小的服务器地址信息分发至剩余时长较大的客户端。
执行时长较小的服务器地址信息也即该服务器处理速度较快,执行时长较大的服务器地址信息也即该服务器处理速度较慢。
本公开尽量将实现目标功能所需的剩余时长较大的客户端可以分配到处理速度较快的服务器,以便可以提升客户端实现目标功能的处理速度、尽快实现目标功能。同时,将实现目标功能所需剩余时长较小的客户端分配到处理速度较慢的服务器,不占用执行速率较快的服务器,以尽量均衡不同客户端实现同一目标功能的执行时长。
由于本公开可以按照执行时长和剩余时长逆相关的原则来合理分配服务器地址信息,所以可以尽量保证不同客户端对于相同目标功能的执行时长尽量一致,也即尽量减小相同目标功能的执行时长的差异性,提升目标功能的整体执行效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种微服务均衡系统的示意图;
图2a是根据一示例性实施例示出的一种微服务均衡方法实施例一的流程图;
图2b是根据一示例性实施例示出的一种哈希表的一个示意性举例;
图3是根据一示例性实施例示出的一种微服务均衡方法实施例二的流程图;
图4是根据一示例性实施例示出的一种微服务均衡装置框图;
图5是根据一示例性实施例示出的一种微服务均衡装置的框图;
图6是根据一示例性实施例示出的一种用于微服务均衡装置的框图;
图7是根据一示例性实施例示出的一种用于微服务均衡装置的框图。
具体实施方式
术语解释:
时间片:分时操作系统分配给每个正在运行的进程微观上的一段CPU时间。
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种微服务均衡系统的示意图。
微服务均衡系统包括客户端和服务端,服务端包括服务发现方和服务执行方。服务执行方包括多个服务器,不同服务器位于不同物理位置,每个服务器均可以执行一个或多个微服务。
在客户端与服务端交互实现某一功能时,客户端可以向服务端发送一个微服务的调用请求,服务端中服务发现方发现调用请求,然后从服务执行方中确定用于执行微服务的服务器地址信息并发送至客户端,客户端利用服务器地址信息到对应服务器上调用微服务。在一个微服务调用完毕后,客户端可以再向服务端发送下一个微服务的调用请求,直到所有微服务调用完毕,从而实现一个功能。
图2a是根据一示例性实施例示出的一种微服务均衡方法实施例一的流程图,如图2a所示,微服务均衡方法用于服务器发现方中,包括以下步骤。
在步骤200中,服务发现方构建并存储执行目标功能中各个微服务的服务器地址信息集合,且,所述服务器地址信息集合按照服务器对微服务的执行时长排序。
由于服务执行方包括多个服务器,每个服务器可以实现一个或多个微服务。每个服务器可以在执行完成一微服务后,发送该微服务的最新执行时长至服务发现方,服务发现方统计能够执行目标功能中各个微服务的服务器地址信息集合,并按照执行时长排序。
以一个微服务A为例,可以统计服务执行方中能够执行微服务A的各个服务器的服务器地址信息(IP地址和端口号码)以及各个服务器执行微服务A的执行时长。将各个服务器地址信息组成微服务A的服务器地址信息集合,且,按照执行时长对服务器地址信息集合执行排序操作。
服务发现方可以采用哈希表的方式存储目标功能中各个微服务的服务器地址信息集合。哈希表可以采用key-value方式来表示,哈希表中key为微服务标识,value为微服务标识对应的服务器地址信息集合。采用哈希表方式存储服务器地址信息集合非常简洁方便。
所述服务器地址信息集合可以采用最小堆方式,所述最小堆的多个堆节点表示多个服务器地址信息,且,多个堆节点按照服务器对微服务的执行时长由小至大排序。最小堆中堆节点可以保存(ip地址, port端口, 剩余时长)来表示。
参见图2b,为哈希表的一个示意性举例,以微服务1为例,执行微服务1的服务器地址信息集合包括:服务器地址信息1(对应执行时长1)、服务器地址信息3(对应执行时长3)、服务器地址信息5(对应执行时长5)、服务器地址信息7(对应执行时长7)、服务器地址信息8(对应执行时长8),其中,执行时长1<执行时长3<执行时长5<执行时长7<执行时长8。
在步骤S201中,服务发现方接收多个客户端对所述微服务的多个调用请求,并将所述多个调用请求存储至所述微服务对应的调用请求集合中;其中,所述调用请求包括:所述目标功能的已执行时长和预设执行时长。
由于客户端不能执行目标功能,所以在需要调用目标功能中过程中,客户端向服务端调用微服务。多个电子终端安装的客户端均可以调用目标功能,所以多个电子终端安装的客户端,向服务端发送对微服务的多个调用请求。
本公开在客户端发送的调用请求额外增加两个参数:目标功能的已执行时长和预设执行时长。已执行时长表示目标功能已经执行的时长,预设执行时长为预先设定的完成目标功能的期望时长。关于两个参数的详细使用情况,将在下一实施例中进行描述,在此不再赘述。
服务端的服务器发现方可以发现多个客户端发送的调用请求,然后将多个客户端的调用请求均存储至微服务对应的调用请求集合中。例如,以客户端1、客户端2和客户端3为例,三个客户端分别对微服务发出调用请求1、调用请求2和调用请求3,然后服务器发现方将调用请求1、调用请求2和调用请求3保存至该微服务的调用请求集合中。
调用请求集合可以采用队列方式实现,也可以采用其它方式实现,对此不做限定。
在步骤S202中,服务发现方将所述多个调用请求中预设执行时长与已执行时长的差值,作为执行所述目标功能所需的剩余时长;按照执行所述目标功能所需的剩余时长,对所述调用请求集合执行排序操作。
由于不同客户端中目标功能的执行情况不同,所以服务发现方可以计算不同客户端中执行目标功能所需的剩余时长,按照剩余时长对调用请求集合执行排序操作。
若一个客户端对应的剩余时长较长的话,则表示该客户端完成目标功能还需较长时间。若一个客户端对应的剩余时长较短的话,则表示该客户端完成目标功能需要较短时间。
在步骤S203中,服务发现方基于排序后的调用请求集合以及排序后的服务器地址信息集合,分发所述服务器地址信息集合中的服务器地址信息,至所述调用请求集合中的调用请求对应的客户端,以供客户端利用服务器地址信息调用所述微服务;其中,服务器地址信息的执行时长与调用请求的剩余时长逆相关。
虽然上述实施例中以一个微服务为例,不过现实场景中服务发现方需要为多个微服务的调用请求分配服务器地址信息,为了对不同微服务均进行分配操作,服务发现方可以为每个微服务设置时间片,其中,时间片为服务器发现方预先为微服务设定的时间段。在一个时间片内为一个微服务的调用请求分配服务器地址信息,在一个时间片结束后,轮换下一个微服务,循环往复。在本步骤中以一个微服务为例,服务器发现方可以在微服务对应的时间片内重复执行下述两个步骤,直到该微服务的时间片使用完毕:
S1:服务发现方分发所述服务器地址信息集合中执行时长最小的服务器地址信息,至所述调用请求集合中剩余时长最大的调用请求对应的客户端。
S2:删除所述服务器地址信息集合中执行时长最小的服务器地址信息,以及,删除所述调用请求集合中剩余时长最大的调用请求。
参见表 1,为将服务器地址信息分配至调用请求的分配示例。
表1
Figure 147728DEST_PATH_IMAGE001
服务器地址信息集合可以采用最小堆的方式来实现,调用请求集合采用最大堆的方式来实现,最小堆的堆顶元素对应的执行时长最短的服务器地址信息,最大堆堆顶元素对应剩余时长最大的客户端,所以每次取出最小堆的堆顶元素,分配给最大堆的堆顶元素,从而实现分发服务器地址信息集合中执行时长最小的服务器地址信息,至调用请求集合中剩余时长最大的调用请求对应的客户端。
为了合理分配服务器地址信息,本实施例中将执行时长最小的服务器地址信息,分配至剩余时长最大的调用请求对应的客户端。执行时长最小代表服务器地址信息对应的服务器的执行速度最快,这样可以使得剩余时长最大的客户端可以快速实现微服务,从而提升目标功能的处理速度,减少剩余时长。
可以理解的是,上述表1提供的是一种优选的实现方式,可以理解的是,服务发现方分发服务器地址信息集合中执行时长较小的服务器地址信息,至调用请求集合中剩余时长较大的调用请求对应的客户端,也是可以实现的。即:不是采用最优的最大剩余时长与最小剩余时长,而是采用较大剩余时长与较小剩余时长相对应的方式,也是可以实现的。
本公开的实施例提供的技术方案至少带来以下有益效果:
对于目标功能中每一微服务的执行过程均是一致的,以一个微服务为例:
本公开需要服务发现方存储用于执行目标功能中一微服务的服务器地址信息集合,且,服务器地址信息集合按照服务器对微服务的执行时长排序。
服务发现方还会构建微服务的调用请求集合,且,调用请求集合中的调用请求按照执行目标功能所需的剩余时长排序,具体而言:客户端发出的调用请求中包括执行目标功能的预设执行时长和已执行时长,将预设执行时长与已执行时长的差值,作为该调用请求执行目标功能所需的剩余时长,并对所述调用请求集合执行排序操作。
最后,将服务器地址信息集合中的服务器地址信息分发至调用请求集合中的调用请求对应的客户端,并且,分发原则更改为服务器地址信息的执行时长与调用请求的剩余时长逆相关原则,也即在分发过程中执行时长较小的服务器地址信息分发至剩余时长较大的客户端。
执行时长较小的服务器地址信息也即该服务器处理速度较快,执行时长较大的服务器地址信息也即该服务器处理速度较慢。
本公开尽量将执行目标功能所需的剩余时长较大的客户端可以分配到处理速度较快的服务器,以便可以提升客户端执行目标功能的处理速度、尽快执行目标功能。同时,将执行目标功能所需剩余时长较小的客户端分配到处理速度较慢的服务器,不占用执行速率较快的服务器,以尽量均衡不同客户端执行同一目标功能的执行时长。
由于本公开可以按照执行时长和剩余时长逆相关的原则来合理分配服务器地址信息,所以可以尽量保证不同客户端对于相同目标功能的执行时长尽量一致,也即尽量减小相同目标功能的执行时长的差异性,提升目标功能的整体执行效率。
客户端发送的调用请求中包括目标功能的已执行时长和预设执行时长两个字段。
在微服务架构中已经具有微服务追踪的功能,在微服务追踪中需要维护一个参数(参数字段可以称为追踪参数);这个参数主要记录微服务的一些日志信息。客户端在微服务调用时创建一个追踪参数来记录日志信息,在微服务调用结束时上报该追踪参数至服务发现方。
服务发现方通过上报的追踪参数可以较为直观的看出整个服务链各个微服务的调用时间等信息。不断上报追踪参数会给服务器带来些资源开销,为了让这部分资源开销尽可能的发挥作用,本发明提出在追踪参数中添加已执行时长和预设执行时长两个字段。
这样可以使得追踪参数的可以起到两种作用,其一为在微服务追踪中起到追踪作用,其二为在微服务均衡中起到作用,在不断上报追踪参数给服务器带来资源开销同时,提高了追踪参数的利用率,这侧面降低资源开销率。
图3是根据一示例性实施例示出的一种微服务均衡方法实施例二的流程图,如图3所示,微服务均衡方法用于服务器发现方中,包括以下步骤。
在步骤300中,服务器发现方存储用于执行目标功能中一微服务的服务器地址信息集合,且,所述服务器地址信息集合按照服务器对所述微服务的执行时长排序。详见步骤S200在此不再赘述。
在步骤301中,多个客户端向服务发现方发送对目标功能中一微服务的调用请求。
以一个客户端为例,对本步骤进行介绍:
S1:客户端接收目标功能的起始时间以及预设执行时长。
客户端在一目标功能的开始时候,会记录目标功能的起始时间以及从服务执行方或者本地获知目标功能的预设执行时长,预设执行时长为预先设定一个目标功能的期望执行时长。预设执行时长可以预先通过安装包的方式下载至客户端本地,或者,客户端到服务执行方中获取,对于具体执行方式本实施例不做限定。
S2:客户端将当前时间与所述起始时间的差值作为所述目标功能的已执行时长。
客户端获取当前时间,并将当前时间与起始时间之间的差值,作为目标功能的已执行时长。已执行时长较长则表示花费时间较长,已执行时长较短则表示花费时间较短。
S3:客户端在客户端调用所述微服务时,构建对所述微服务的调用请求;其中,所述调用请求包括所述目标功能的已执行时长和预设执行时长。
客户端可以构建调用请求,并且,调用请求可以在已有的追踪参数中添加所述已执行时长的字段和所述预设执行时长的字段。这样可以提升追踪参数的使用效率。
在步骤S302中,服务发现方接收多个客户端对所述微服务的多个调用请求,并将所述多个调用请求存储至所述微服务对应的调用请求集合中;其中,所述调用请求包括:所述目标功能的已执行时长和预设执行时长。详见步骤S201在此不再赘述。
步骤S303中,服务发现方将所述多个调用请求中预设执行时长与已执行时长的差值,作为执行所述目标功能所需的剩余时长;按照执行所述目标功能所需的剩余时长,对所述调用请求集合执行排序操作。详见步骤S202在此不再赘述。
在步骤S304中,服务发现方基于排序后的调用请求集合以及排序后的服务器地址信息集合,分发所述服务器地址信息集合中的服务器地址信息,至所述调用请求集合中的调用请求对应的客户端,以供客户端利用服务器地址信息调用所述微服务;其中,服务器地址信息的执行时长与调用请求的剩余时长逆相关。
详见步骤S203在此不再赘述。
在步骤S305中,客户端利用所述服务器地址信息对应的服务器执行所述微服务。
在步骤S306中,客户端中对微服务调用结束后,将本次服务器对下游微服务的执行时长作为最新执行时长,发送所述服务器地址信息和服务器对所述下游微服务的最新执行时长至所述服务发现方。
客户端在调用微服务开始时会构建一个追踪参数,在调用结束后会上报追踪参数至服务发现方,追踪参数中具有微服务的持续时间。
在利用服务器地址信息对应的服务器对下游微服务执行完毕后,客户端可以发送最新执行时长至服务发现方,以便服务器发现方更新服务器的最新执行时长。
在步骤S307中,服务发现方在所述客户端对所述微服务的调用结束后,接收所述客户端发送的服务器地址信息和服务器对所述微服务的最新执行时长,构建与服务器地址信息对应的堆节点,并按最新执行时长、将所述堆节点插入所述最小堆中。
服务发现方在接收到客户端发送的服务器地址信息和服务器对应的最新执行时长后,可以构建与服务器地址信息对应的堆节点,并按照最新执行时长添加堆节点至对应的最小堆中,在插入过程中仍然按照执行时长由小至大的顺序插入至对应的位置,这样可以保证最小堆的实时性和准确性。
通过上述实施例,可知本申请在实施例一基础上,还具有以下有益效果:
由于服务器在执行微服务过程中,其自身状态也会不断变化,有时候执行速率快,有时候执行速率慢,所以本实施例中服务发现方可以不断更新哈希表,以便保证哈希表中的服务器地址信息集合始终按照最新的执行时长来排序,以便更加贴合真实的服务器执行过程。
本实施例中,在客户端的调用请求中原有的追踪参数添加了本实施例中所需要使用的两个字段(所述目标功能的已执行时长和预设执行时长)。由于追踪参数本身需要频繁构建和上报,所以本实施例借助于追踪参数的一个特点,在追踪参数中添加所需使用的两个字段,可以非常巧妙的不过多改变原有程序、不增加额外其它参数的同时,又能更好的利用了追踪参数,提升了追踪参数的利用率,以及减少对对系统资源开销。
图4是根据一示例性实施例示出的一种微服务均衡装置400框图,集成于服务发现方。参照图4,该装置包括存储单元41,接收单元42、排序单元43、分发单元44。
存储单元41,被配置为存储用于执行目标功能中一微服务的服务器地址信息集合,且,所述服务器地址信息集合按照服务器对所述微服务的执行时长排序;
接收单元42,被配置为接收多个客户端对所述微服务的多个调用请求,并将所述多个调用请求存储至所述微服务对应的调用请求集合中;其中,所述调用请求包括:所述目标功能的已执行时长和预设执行时长;
排序单元43,被配置为将所述多个调用请求中预设执行时长与已执行时长的差值,作为执行所述目标功能所需的剩余时长;按照执行所述目标功能所需的剩余时长,对所述调用请求集合执行排序操作;
分发单元44,被配置为基于排序后的调用请求集合以及排序后的服务器地址信息集合,分发所述服务器地址信息集合中的服务器地址信息,至所述调用请求集合中的调用请求对应的客户端,以供客户端利用服务器地址信息调用所述微服务;其中,服务器地址信息的执行时长与调用请求的剩余时长逆相关。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种微服务均衡装置500的框图。
构建单元51,被配置为接收目标功能的起始时间以及预设执行时长;将当前时间与所述起始时间的差值作为所述目标功能的已执行时长;在客户端调用所述微服务时,构建对所述微服务的调用请求;其中,所述调用请求包括所述目标功能的已执行时长和预设执行时长;
发送单元52,用于向服务发现方发送对目标功能中一微服务的调用请求;
接收单元53,用于接收所述服务发现方反馈的服务器地址信息;其中,所述服务器地址信息为所述服务发现方从多个不同执行时长的服务器地址信息中,依据所述目标功能所需的剩余时长确定的服务器地址信息,且,服务器地址信息的执行时长与调用请求的剩余时长逆相关;
执行单元54,用于利用所述服务器地址信息对应的服务器实现所述微服务。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种用于微服务均衡装置400的框图。例如,装置400可以被提供为一服务器。参照图6,装置400包括处理组件422,其进一步包括一个或多个处理器,以及由存储器432所代表的存储器资源,用于存储可由处理组件422的执行的指令,例如应用程序。存储器432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述微服务均衡方法。
装置400还可以包括一个电源组件426被配置为执行装置400的电源管理,一个有线或无线网络接口450被配置为将装置400连接到网络,和一个输入输出(I/O)接口458。装置400可以操作基于存储在存储器432的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM或类似。
图7是根据一示例性实施例示出的一种用于微服务均衡装置500的框图。例如,装置500可以是计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图7,装置500可以包括以下一个或多个组件:处理组件502,存储器504,电力组件506,多媒体组件508,音频组件510,输入/输出(I/ O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以实现上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在设备500的操作。这些数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为装置500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。
多媒体组件508包括在所述装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/ O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为装置500提供各个方面的状态评估。例如,传感器组件514可以检测到设备500的打开/关闭状态,组件的相对定位,例如所述组件为装置500的显示器和小键盘,传感器组件514还可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器504,上述指令可由装置500的处理器520执行以实现上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (24)

1.一种微服务均衡方法,其特征在于,所述方法包括:
存储用于执行目标功能中一微服务的服务器地址信息集合,且,所述服务器地址信息集合按照服务器对所述微服务的执行时长排序;
接收多个客户端对所述微服务的多个调用请求,并将所述多个调用请求存储至所述微服务对应的调用请求集合中;其中,所述调用请求包括:所述目标功能的已执行时长和预设执行时长;
将所述多个调用请求中预设执行时长与已执行时长的差值,作为执行所述目标功能所需的剩余时长;按照执行所述目标功能所需的剩余时长,对所述调用请求集合执行排序操作;
基于排序后的调用请求集合以及排序后的服务器地址信息集合,分发所述服务器地址信息集合中的服务器地址信息,至所述调用请求集合中的调用请求对应的客户端,以供客户端利用服务器地址信息调用所述微服务;其中,服务器地址信息的执行时长与调用请求的剩余时长逆相关。
2.如权利要求1所述的微服务均衡方法,其特征在于,所述基于排序后的调用请求集合以及排序后的服务器地址信息集合,分发所述服务器地址信息集合中的服务器地址信息,至所述调用请求集合中的调用请求对应的客户端,包括:
分发所述服务器地址信息集合中执行时长最小的服务器地址信息,至所述调用请求集合中剩余时长最大的调用请求对应的客户端;
删除所述服务器地址信息集合中执行时长最小的服务器地址信息,以及,删除所述调用请求集合中剩余时长最大的调用请求;
在所述微服务的时间片内重复执行上面两个步骤,其中,时间片为服务器发现方预先为微服务设定的时间段;
在所述微服务的时间片使用完毕之后,切换至下一个微服务。
3.如权利要求2所述的微服务均衡方法,其特征在于,采用哈希表存储服务器地址信息集合,哈希表的主键为表示所述微服务的微服务标识,键值与为所述微服务标识对应的所述服务器地址信息集合;
其中,所述服务器地址信息集合采用最小堆方式,所述最小堆的多个堆节点表示多个服务器地址信息,且,所述多个堆节点按照服务器对所述微服务的执行时长由小至大排序。
4.如权利要求3所述的微服务均衡方法,其特征在于,所述删除所述服务器地址信息集合中执行时长最小的服务器地址信息包括:
移除所述最小堆的堆顶,并重新生成最小堆的堆顶。
5.如权利要求3所述的微服务均衡方法,其特征在于,还包括:
在所述客户端对所述微服务的调用结束后,接收所述客户端发送的服务器地址信息和服务器对所述微服务的最新执行时长;
构建与服务器地址信息对应的堆节点,并按最新执行时长、将所述堆节点插入所述最小堆中。
6.如权利要求1所述的微服务均衡方法,其特征在于,所述按照执行所述目标功能所需的剩余时长,对所述调用请求集合执行排序操作包括:
按照执行所述目标功能所需的剩余时长,对所述调用请求集合中多个调用请求按从大至小排序。
7.如权利要求1所述的微服务均衡方法,其特征在于,所述服务器地址信息集合按照服务器对所述微服务的执行时长排序包括:
所述服务器地址信息集合按照服务器对所述微服务的执行时长由小至大排序。
8.如权利要求1所述的微服务均衡方法,其特征在于,所述已执行时长的字段和所述预设执行时长的字段,设置于所述调用请求中已有的追踪参数中。
9.一种微服务均衡方法,其特征在于,应用于客户端,所述方法包括:
接收目标功能的起始时间以及预设执行时长;
将当前时间与所述起始时间的差值作为所述目标功能的已执行时长;
在客户端调用所述微服务时,构建对所述微服务的调用请求;其中,所述调用请求包括所述目标功能的已执行时长和预设执行时长;
向服务发现方发送对目标功能中一微服务的调用请求;
接收所述服务发现方反馈的服务器地址信息;其中,所述服务器地址信息为所述服务发现方从多个不同执行时长的服务器地址信息中,依据所述目标功能所需的剩余时长确定的服务器地址信息,且,服务器地址信息的执行时长与调用请求的剩余时长逆相关;
利用所述服务器地址信息对应的服务器执行所述微服务。
10.如权利要求9所述的微服务均衡方法,其特征在于,在利用所述服务器地址信息对应的服务器执行所述微服务之后,还包括:
在所述客户端对所述微服务调用结束后,将本次服务器对微服务的执行时长作为最新执行时长;
发送所述服务器地址信息和服务器对所述微服务的最新执行时长至所述服务发现方。
11.一种微服务均衡装置,其特征在于,包括:
存储单元,被配置为存储用于执行目标功能中一微服务的服务器地址信息集合,且,所述服务器地址信息集合按照服务器对所述微服务的执行时长排序;
接收单元,被配置为接收多个客户端对所述微服务的多个调用请求,并将所述多个调用请求存储至所述微服务对应的调用请求集合中;其中,所述调用请求包括:所述目标功能的已执行时长和预设执行时长;
排序单元,被配置为将所述多个调用请求中预设执行时长与已执行时长的差值,作为执行所述目标功能所需的剩余时长;按照执行所述目标功能所需的剩余时长,对所述调用请求集合执行排序操作;
分发单元,被配置为基于排序后的调用请求集合以及排序后的服务器地址信息集合,分发所述服务器地址信息集合中的服务器地址信息,至所述调用请求集合中的调用请求对应的客户端,以供客户端利用服务器地址信息调用所述微服务;其中,服务器地址信息的执行时长与调用请求的剩余时长逆相关。
12.如权利要求11所述的微服务均衡装置,其特征在于,所述分发单元,被配置为:
分发所述服务器地址信息集合中执行时长最小的服务器地址信息,至所述调用请求集合中剩余时长最大的调用请求对应的客户端;
删除所述服务器地址信息集合中执行时长最小的服务器地址信息,以及,删除所述调用请求集合中剩余时长最大的调用请求;
在所述微服务的时间片内重复执行上面两个步骤,其中,时间片为服务器发现方预先为微服务设定的时间段;
在所述微服务的时间片使用完毕之后,切换至下一个微服务。
13.如权利要求12所述的微服务均衡装置,其特征在于,采用哈希表存储服务器地址信息集合,哈希表的主键为表示所述微服务的微服务标识,键值与为所述微服务标识对应的所述服务器地址信息集合;
其中,所述服务器地址信息集合采用最小堆方式,所述最小堆的多个堆节点表示多个服务器地址信息,且,所述多个堆节点按照服务器对所述微服务的执行时长由小至大排序。
14.如权利要求13所述的微服务均衡装置,其特征在于,所述删除所述服务器地址信息集合中执行时长最小的服务器地址信息被配置为:移除所述最小堆的堆顶,并重新生成最小堆的堆顶。
15.如权利要求13所述的微服务均衡装置,其特征在于,还包括插入单元;
插入单元,被配置为在所述客户端对所述微服务的调用结束后,接收所述客户端发送的服务器地址信息和服务器对所述微服务的最新执行时长;构建与服务器地址信息对应的堆节点,并按最新执行时长、将所述堆节点插入所述最小堆中。
16.如权利要求11所述的微服务均衡装置,其特征在于,所述按照执行所述目标功能所需的剩余时长,对所述调用请求集合执行排序操作被配置为:
按照执行所述目标功能所需的剩余时长,对所述调用请求集合中多个调用请求按从大至小排序。
17.如权利要求11所述的微服务均衡装置,其特征在于,所述服务器地址信息集合按照服务器对所述微服务的执行时长排序包括:
所述服务器地址信息集合按照服务器对所述微服务的执行时长由小至大排序。
18.如权利要求11所述的微服务均衡装置,其特征在于,所述已执行时长的字段和所述预设执行时长的字段,设置于所述调用请求中已有的追踪参数中。
19.一种微服务均衡装置,其特征在于,应用于客户端,所述装置包括:
构建单元,被配置为接收目标功能的起始时间以及预设执行时长;将当前时间与所述起始时间的差值作为所述目标功能的已执行时长;在客户端调用所述微服务时,构建对所述微服务的调用请求;其中,所述调用请求包括所述目标功能的已执行时长和预设执行时长;
发送单元,用于向服务发现方发送对目标功能中一微服务的调用请求;
接收单元,用于接收所述服务发现方反馈的服务器地址信息;其中,所述服务器地址信息为所述服务发现方从多个不同执行时长的服务器地址信息中,依据所述目标功能所需的剩余时长确定的服务器地址信息,且,服务器地址信息的执行时长与调用请求的剩余时长逆相关;
执行单元,用于利用所述服务器地址信息对应的服务器执行所述微服务。
20.如权利要求19所述的微服务均衡装置,其特征在于,还包括:
发送单元,被配置为在利用所述服务器地址信息对应的服务器执行所述微服务之后,在所述客户端对所述微服务调用结束后,将本次服务器对微服务的执行时长作为最新执行时长;发送所述服务器地址信息和服务器对所述微服务的最新执行时长至所述服务发现方。
21.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以执行如权利要求1至8中任一项所述的微服务均衡方法。
22.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以执行如权利要求9~10中任一项所述的微服务均衡方法。
23.一种存储介质,其特征在于,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如权利要求1至8中任一项所述的微服务均衡方法。
24.一种存储介质,其特征在于,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如权利要求9~10中任一项所述的微服务均衡方法。
CN202011387944.0A 2020-12-02 2020-12-02 微服务均衡方法及装置 Active CN112383639B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011387944.0A CN112383639B (zh) 2020-12-02 2020-12-02 微服务均衡方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011387944.0A CN112383639B (zh) 2020-12-02 2020-12-02 微服务均衡方法及装置

Publications (2)

Publication Number Publication Date
CN112383639A true CN112383639A (zh) 2021-02-19
CN112383639B CN112383639B (zh) 2022-02-22

Family

ID=74589557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011387944.0A Active CN112383639B (zh) 2020-12-02 2020-12-02 微服务均衡方法及装置

Country Status (1)

Country Link
CN (1) CN112383639B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105245595A (zh) * 2015-09-30 2016-01-13 小米科技有限责任公司 服务响应方法及装置
US20170230349A1 (en) * 2016-02-04 2017-08-10 International Business Machines Corporation Microservices inter-operational trust management
US20190182309A1 (en) * 2017-12-08 2019-06-13 Salesforce.Com, Inc. Apparatus and method for low-latency message request/response processing
CN110505155A (zh) * 2019-08-13 2019-11-26 北京达佳互联信息技术有限公司 请求降级处理方法、装置、电子设备及存储介质
CN111491027A (zh) * 2020-04-16 2020-08-04 北京雷石天地电子技术有限公司 均衡负载方法、均衡负载装置和可读存储介质
CN111552580A (zh) * 2020-05-07 2020-08-18 深圳前海微众银行股份有限公司 分布式微服务决策方法、装置、设备及计算机存储介质
CN112019650A (zh) * 2020-08-20 2020-12-01 北京达佳互联信息技术有限公司 Ip地址推荐方法、装置及服务器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105245595A (zh) * 2015-09-30 2016-01-13 小米科技有限责任公司 服务响应方法及装置
US20170230349A1 (en) * 2016-02-04 2017-08-10 International Business Machines Corporation Microservices inter-operational trust management
US20190182309A1 (en) * 2017-12-08 2019-06-13 Salesforce.Com, Inc. Apparatus and method for low-latency message request/response processing
CN110505155A (zh) * 2019-08-13 2019-11-26 北京达佳互联信息技术有限公司 请求降级处理方法、装置、电子设备及存储介质
CN111491027A (zh) * 2020-04-16 2020-08-04 北京雷石天地电子技术有限公司 均衡负载方法、均衡负载装置和可读存储介质
CN111552580A (zh) * 2020-05-07 2020-08-18 深圳前海微众银行股份有限公司 分布式微服务决策方法、装置、设备及计算机存储介质
CN112019650A (zh) * 2020-08-20 2020-12-01 北京达佳互联信息技术有限公司 Ip地址推荐方法、装置及服务器

Also Published As

Publication number Publication date
CN112383639B (zh) 2022-02-22

Similar Documents

Publication Publication Date Title
CN110633151A (zh) 分布式发布消息集群分区平衡的方法、装置及存储介质
CN112468833A (zh) 直播互动信息处理方法、装置、终端、服务器及存储介质
CN113014625B (zh) 一种任务处理方法、装置和用于任务处理的装置
CN115237613B (zh) 一种多方安全计算任务调度方法、装置和可读存储介质
CN113220482A (zh) 调用请求处理方法、装置、电子设备及存储介质
CN112270561A (zh) 电子资源发放方法、装置、电子设备及存储介质
CN111338971B (zh) 应用测试方法、装置、电子设备及存储介质
CN110913276B (zh) 数据处理的方法、装置、服务器、终端及存储介质
CN113765998A (zh) 基于集群系统的访问限制方法、装置和服务器
CN113365099A (zh) 弹幕下发方法、接收方法、装置、电子设备及存储介质
CN108028810B (zh) 建立业务连接的方法及装置
CN112256424A (zh) 虚拟资源的处理方法、装置、系统、电子设备及存储介质
CN112383639B (zh) 微服务均衡方法及装置
CN110908814A (zh) 消息处理方法、装置、电子设备及存储介质
CN106790450B (zh) 缓存处理方法、装置及服务器
CN114430370B (zh) 网络切片的确定方法、装置、设备及存储介质
CN110945926B (zh) 连接建立方法及装置、基站、用户设备和核心网设备
CN110719598B (zh) 一种数据传输方法、装置、电子设备及存储介质
CN108984294B (zh) 资源调度方法、装置及存储介质
CN113691526A (zh) 基于WebRTC的推流方法、装置、系统、设备和介质
CN116033586A (zh) 针对网络切片下的业务的资源调配方法、装置和设备
CN109194639B (zh) 消息接收处理方法、装置、终端及可读存储介质
CN107168693B (zh) 锁屏界面的显示方法及装置
CN112104990A (zh) 资源下载方法、装置及存储介质
CN106331270B (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