CN112910796A - 流量管理方法、装置、设备、存储介质以及程序产品 - Google Patents
流量管理方法、装置、设备、存储介质以及程序产品 Download PDFInfo
- Publication number
- CN112910796A CN112910796A CN202110112812.5A CN202110112812A CN112910796A CN 112910796 A CN112910796 A CN 112910796A CN 202110112812 A CN202110112812 A CN 202110112812A CN 112910796 A CN112910796 A CN 112910796A
- Authority
- CN
- China
- Prior art keywords
- information
- traffic management
- cluster
- node
- service
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
Abstract
本公开提供了流量管理方法、装置、电子设备及存储介质,涉及计算机网络技术领域。具体实现方案为:响应于代理集群中的节点的启动信息,向节点发送代理集群的成员信息;接收节点的元信息;根据元信息将节点注册为代理集群的成员;发送为节点配置的流量管理信息。本公开实施例使得客户端与服务端作为对等的去中心化集群中的节点可以互相自动发现,并通过节点自身携带的元信息实现流量划分及服务负载均衡。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种计算机网络技术领域。
背景技术
传统的采用服务网关进行流量管理的方式引入了额外的服务组件,流量转发本身需要占用额外的网络IO流量,既增加了系统复杂度和运维成本又降低了系统性能。采用注册中心进行流量管理的方式,属于中心化管理模式,运维复杂度高,且存在单点运维风险。
发明内容
本公开提供了一种流量管理方法、装置、设备、存储介质以及程序产品。
根据本公开的一方面,提供了一种流量管理方法,包括:
响应于代理集群中的节点的启动信息,向节点发送代理集群的成员信息;
接收节点的元信息;
根据元信息将节点注册为代理集群的成员;
发送为节点配置的流量管理信息。
根据本公开的另一方面,提供了一种流量管理方法,包括:
向流量管理服务器发送启动消息;
接收来自流量管理服务器的代理集群的成员信息;
向成员信息中包括的代理集群中的节点广播业务服务器的元信息;
接收来自流量管理服务器的根据元信息获取的流量管理信息;其中,流量管理信息包括业务服务器所属的资源组的信息。
根据本公开的另一方面,提供了一种流量管理方法,包括:
向流量管理服务器发送启动消息;
接收来自流量管理服务器的代理集群的成员信息;
向成员信息中包括的代理集群中的节点广播客户端的元信息;
接收来自流量管理服务器的根据元信息获取的流量管理信息;其中,流量管理信息包括流量指令,流量指令用于指示预先为请求服务的用户配置的具有访问权限的资源组,资源组包括代理集群中的至少一个业务服务器。
根据本公开的另一方面,提供了一种流量管理方法,包括:
响应于流量管理服务器的启动信息,向流量管理服务器发送流量管理服务器所属的代理集群的成员信息;
接收来自流量管理服务器的元信息;
根据元信息获取流量管理服务器所属的代理集群的标识信息和为代理集群中的节点配置的流量管理信息;
向流量管理服务器发送流量管理服务器所属的代理集群的标识信息和为代理集群中的节点配置的流量管理信息。
根据本公开的另一方面,提供了一种流量管理装置,包括:
第一发送单元,用于响应于代理集群中的节点的启动信息,向节点发送代理集群的成员信息;
第一接收单元,用于接收节点的元信息;
注册单元,用于根据元信息将节点注册为代理集群的成员;
第二发送单元,用于发送为节点配置的流量管理信息。
根据本公开的另一方面,提供了一种流量管理装置,包括:
第三发送单元,用于向流量管理服务器发送启动消息;
第二接收单元,用于接收来自流量管理服务器的代理集群的成员信息;
第一广播单元,用于向成员信息中包括的代理集群中的节点广播业务服务器的元信息;
第三接收单元,用于接收来自流量管理服务器的根据元信息获取的流量管理信息;其中,流量管理信息包括业务服务器所属的资源组的信息。
根据本公开的另一方面,提供了一种流量管理装置,包括:
第四发送单元,用于向流量管理服务器发送启动消息;
第四接收单元,用于接收来自流量管理服务器的代理集群的成员信息;
第二广播单元,用于向成员信息中包括的代理集群中的节点广播客户端的元信息;
第五接收单元,用于接收来自流量管理服务器的根据元信息获取的流量管理信息;其中,流量管理信息包括流量指令,流量指令用于指示预先为请求服务的用户配置的具有访问权限的资源组,资源组包括代理集群中的至少一个业务服务器。
根据本公开的另一方面,提供了一种流量管理装置,包括:
第五发送单元,用于响应于流量管理服务器的启动信息,向流量管理服务器发送流量管理服务器所属的代理集群的成员信息;
第六接收单元,用于接收来自流量管理服务器的元信息;
获取单元,用于根据元信息获取流量管理服务器所属的代理集群的标识信息和为代理集群中的节点配置的流量管理信息;
第六发送单元,用于向流量管理服务器发送流量管理服务器所属的代理集群的标识信息和为代理集群中的节点配置的流量管理信息。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例中的流量管理方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本公开任一实施例中的流量管理方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本公开任一实施例中的流量管理方法。
上述申请中的一个实施例具有如下优点或有益效果:使得客户端与服务端作为对等的去中心化集群中的节点可以互相自动发现,并通过节点自身携带的元信息实现流量划分及服务负载均衡。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开一实施例的流量管理方法的流程图;
图2是根据本公开另一实施例的流量管理方法的代理集群架构示意图;
图3是根据本公开另一实施例的流量管理方法的业务服务器启动的交互流程图;
图4是根据本公开另一实施例的流量管理方法的客户端启动的交互流程图;
图5是根据本公开另一实施例的流量管理方法的流程图;
图6是根据本公开另一实施例的流量管理方法的ITG服务节点启动的交互流程图;
图7是根据本公开另一实施例的流量管理方法的流量指令更新的交互流程图;
图8是根据本公开一实施例的流量管理方法的流程图;
图9是根据本公开一实施例的流量管理方法的流程图;
图10是根据本公开一实施例的流量管理方法的流程图;
图11是根据本公开一实施例的流量管理装置的示意图;
图12是根据本公开另一实施例的流量管理装置的示意图;
图13是根据本公开另一实施例的流量管理装置的示意图;
图14是根据本公开一实施例的流量管理装置的流程图;
图15是根据本公开一实施例的流量管理装置的流程图;
图16是根据本公开另一实施例的流量管理装置的流程图;
图17是根据本公开一实施例的流量管理装置的流程图;
图18是用来实现本公开实施例的流量管理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
以微服务网络流程管理为例,在相关技术中流程管理可以有以下几种实现方式:
(1)传统的采用服务网关进行流量管理的方式。一方面服务网关负责路由转发,拦截外界请求,通过预先指定的策略将信息转发给后端的微服务;另一方面服务网关可以完成一系列的横切功能,例如权限校验、限流以及监控等。采用服务网关进行流量管理的方式引入了额外的服务组件,流量转发本身需要占用额外的网络IO流量,既增加了系统复杂度和运维成本又降低了系统性能。
(2)采用注册中心进行流量管理的方式。微服务节点将自身运行信息及流量管理的配置托管至中心化的注册中心组件中,客户端通过注册中心获取服务信息并进行RPC(Remote Procedure Call,远程过程调用)请求。采用注册中心进行流量管理的方式属于中心化管理模式。该方式增加了云服务的系统复杂度和运维复杂度,同时也带来了潜在的单点运维风险。比如当服务注册中心失效时,整个系统将处理不可用的状态。
图1是根据本公开一实施例的流量管理方法的流程图。参见图1,该流量管理方法包括:
步骤S110,响应于代理集群中的节点的启动信息,向节点发送代理集群的成员信息;
步骤S120,接收节点的元信息;
步骤S130,根据元信息将节点注册为代理集群的成员;
步骤S140,发送为节点配置的流量管理信息。
本公开实施例中,可预先将企业内部的业务网络划分为至少一个代理集群。在一个示例中,可以按照服务功能将业务网络划分为至少一个代理集群,例如负责鉴权的代理集群或负责消息分发的代理集群等。在代理集群中可预先配置至少一个负责ITG(Inter-Traffic-Governor,内部交互流量管理)服务的节点。负责ITG服务的节点可简称为ITG服务(ITG Service)节点或流量管理服务器。
图1所示的流量管理方法具体可应用于流量管理服务器。节点在代理集群中的身份信息可包括业务服务器或客户端。可以为代理集群中的每个节点预先配置一个指定的流量管理服务器。其中,可以将代理集群中的一个客户端指定为流量管理服务器。在节点启动的时候向预先配置的指定的流量管理服务器发送启动信息,以使得流量管理服务器感知到代理集群中有新启动的节点。
在步骤S110中,流量管理服务器接收到节点的启动信息后,向启动的节点发送代理集群的成员信息。在一个示例中,启动信息中可包括节点的地址。其中,地址可以是物理地址,例如MAC地址(Media Access Control Address,媒体访问控制地址)。地址也可以是URL(uniform resource locator,统一资源定位符)等形式的逻辑地址。流量管理服务器可根据启动的节点的地址确定该节点所属的代理集群的标识信息,并获取该代理集群的成员信息。代理集群的成员可包括代理集群中的所有节点,包括业务服务器或客户端。该代理集群的成员信息可包括代理集群的成员列表。例如,成员列表中可包括当前状态下该代理集群中已启动的业务服务器或客户端的信息。
在另一个示例中,启动信息中也可包括节点的元信息。其中,元信息中可以包括节点的身份信息。节点的身份信息可包括:该节点属于哪个代理集群,以及其身份信息是业务服务器还是客户端。例如,节点的身份信息可包括:该节点所属的代理集群的标识信息且该节点是该代理集群中的业务服务器。流量管理服务器可根据启动的节点的元信息确定该节点属于哪个代理集群,并获取该代理集群的成员信息。
在步骤S110中,流量管理服务器可向启动的节点发送代理集群的成员列表。启动的节点接收到成员列表后,可向成员列表中的每个节点广播自身的元信息。则代理集群中的每个节点都会收到启动的节点的元信息,使得代理集群中的每个节点感知到启动的节点。在步骤S120中,作为代理集群中的节点之一的流量管理服务器也接收到了启动的节点的元信息。在以上交互方式中,通过节点自身携带的元信息,使得代理集群中客户端与服务器作为对等的去中心化集群中的节点可以互相自动发现。
在步骤S130中,流量管理服务器根据启动的节点的元信息将该节点注册为代理集群的成员。在步骤S140中,流量管理服务器向启动的节点发送为该节点配置的流量管理信息。在一个示例中,可预先将代理集群中的业务服务器划分为至少一个资源组。流量管理服务器向启动的节点发送为该节点配置的流量管理信息,可包括:流量管理服务器向启动的业务服务器发送业务服务器所属的资源组;或者,向启动的客户端发送流量指令。流量指令用于指示代理集群中的哪些业务服务器为哪些请求服务的用户提供服务。流量管理服务器可根据启动的节点的元信息,获取对应的为该节点配置的流量管理信息,并将流量管理信息发送给启动的节点。
本公开实施例使得客户端与服务端作为对等的去中心化集群中的节点可以互相自动发现,并通过节点自身携带的元信息实现流量划分及服务负载均衡。
在一种实施方式中,上述流量管理方法还包括:
按照服务功能将业务网络划分为至少一个代理集群;其中,代理集群包括至少一个业务服务器和至少一个客户端。
以微服务网络流程管理为例,微服务间的RPC对于调用方来说,逻辑上是本地方法调用,物理上是通过网络将方法通过解耦合的方式执行到其他计算环境。方法执行方可同时服务于若干个具有独立身份的RPC调用方。从资源利用的角度,方法的执行环境需要根据使用者的需求动态地分配资源。也就是说,RPC服务端需要根据RPC客户端的需求动态地分配资源。
作为提供RPC能力的微服务,从调用与被调用的角度,集群成员可以划分为RPCServer(业务服务器)及RPC Client(客户端)两种角色。作为微服务中提供不同服务的模块,RPC Server和RPC Client又可以被成对地划分成不同的功能角色。例如不同的功能可包括鉴权或消息分发等。
在一个示例中,可在业务网络的基础上构建一个上层网络(Overlay)。在上层网中,按照服务功能将企业或部门的内部业务网络划分为多个虚拟集群Agent Cluster(代理集群)。每个代理集群可代表一个功能模块,例如鉴权、认证、消息分发、邮箱等。以AgentKey(代理关键字)作为代理集群的标识。每个代理集群中可包括多个成员(Member)。在代理集群的多个成员中可包括至少一个业务服务器(Cluster sever)和至少一个客户端(Cluster client)。
图2是根据本公开另一实施例的流量管理方法的代理集群架构示意图。在图2的示例中,业务网络中的代理集群包括:Service A、Service B、Service C、Service D、ServiceE、……等。每个代理集群中包括若干个业务服务器和若干个客户端。流量管理服务器负责注册所有的代理集群以及负责注册各个代理集群中的所有成员。在一个示例中,可以将代理集群中的至少一个客户端配置为流量管理服务器。在管理平台中,可通过管理API(Application Programming Interface,应用程序接口)对业务网络中的流程信息进行显示和管理。管理员也可以通过管理API分配流量指令和注册新的代理集群。流量管理服务器可以向持久化数据库备份数据,也可以从持久化数据库恢复数据。并且在备份数据和恢复数据的过程中进行版本控制,以保证备份和恢复的数据是最新版本的数据。
在业务网络中,每个请求服务的用户可以用请求流量身份Traffic Id来标识。一方面,可为每个用户配置资源组(LBG,Load Balance Group)的访问权限及各LBG分配的流量权重。其中,一个资源组可包括代理集群中的一个或多个业务服务器。另一方面,可为客户端配置流量指令(Traffic Directives)。流量指令用于指示代理集群中的哪些业务服务器为哪些请求服务的用户提供服务。客户端接收到用户的服务请求之后,可以根据流量指令去访问对应的业务服务器请求服务。
代理集群中的节点的元信息除了包括节点的身份信息之外,对于业务服务器,元信息还可以包括业务服务器所属的资源组;对于客户端,元信息还可以包括流量指令。一个示例性的资源组和流量指令配置如表1所示。
表1代理集群的资源组和流量指令
参见图2和表1,为代理集群中的节点配置元信息可包括以下几个方面。以具有某一功能的微服务Service_A为例,一方面需要定义流量指令。约定请求流量身份(TrafficId)所具有的资源组访问权限以及各LBG分配的流量权重(Weight)。其中Traffic Id和LBG可以为多对多的关系,即多个请求流量身份可以访问同一资源组,一个请求流量身份也可以访问多个资源组。例如,参见图2和表1,Service_A共有两个Traffic Id,分别是“TrafficA”和“Traffic B”。“Traffic A”具有资源组“GroupA”和“GroupB”的请求权限。根据配置的权重值,两个资源组分配的流量比例为1:2。“Traffic B”具有资源组“GroupB”的请求权限。根据配置的权重值,为“Traffic A”和“Traffic B”分配的资源组“GroupB”的流量权重都是2。
另一方面,代理集群Service_A的服务实例需要附带的实例元信息可包括:实例对外提供服务的URL信息、代理集群Service_A中所有节点的节点ID(标识)、代理集群Service_A中所有节点所属的LBG信息中的至少一项。服务实例与LBG可以是一对多的关系,即一个服务实例可以同时属于多个资源组的成员,可以为多个Traffic Id提供服务。
参见图2,本公开实施例中,代理集群的特点如下:
1)业务网络中所有的节点共同组成一个大集群。例如节点可包括图2中的代理集群Service A、Service B、Service C中的业务服务器和客户端。各个节点维护大集群中所有节点信息及消息。
2)根据Agent Key将集群划分为若干虚拟化的代理集群。业务网络中的一个节点可以选择注册到一个或若干个Agent Key,成为一个或若干个代理集群的成员。
3)代理集群中的成员分为业务服务器身份(Cluster sever)和客户端身份(Cluster client)。两者均可以在代理集群中收发消息。
4)业务服务器可向代理集群提供作为集群成员的自身的元信息(membermetadata)。业务服务器自身的元信息中包括LBG信息。业务服务器可在业务网络中广播自身的元信息,使得业务网络中其他节点感知到该业务服务器。
5)客户端在代理集群中可以是以观察者模式与其他节点进行交互。客户端可以订阅其他节点发出的消息。例如可通过订阅的方式获取代理集群中的业务服务器列表(server list)、流量指令等信息。
6)客户端持有的流量指令属于代理集群中的节点之间的交互消息。可配置指定的管理模块对流量指令进行控制,使得流量指令在代理集群内的各个客户端之间进行信息同步。例如,可将流量管理服务器作为指定的管理模块对流量指令进行控制和管理。
对于去中心化的微服务集群进行流量运维管理,可以通过一个属于代理集群的成员的节点作为流量治理平台,对各节点元信息及进行内部交互流量管理(ITG)。例如可以将代理集群中的至少一个客户端配置为流量管理服务器,作为负责ITG服务的节点。流量管理服务器也称为ITG服务节点。ITG服务节点作为客户端,其本身可以不为代理集群提供业务服务功能。在一个示例中,ITG服务节点的作用如下:
1)ITG服务节点启动后,可基于gossip(流言算法)获取所有当前集群存在的AgentKey并进行注册。获取代理集群中节点的状态,包括代理集群的成员列表、各业务服务器持有的LBG、各客户端持有的流量指令。
2)ITG服务节点负责在代理集群进行流量管理,包括向指定业务服务器下发LBG信息,向所有客户端广播流量指令。
3)ITG服务节点可以作为代理集群中的种子节点,代理集群中其他的节点启动后可通过种子节点加入代理集群,自动获取集群内的所有信息。
4)ITG服务节点开放管理API,对接可视化管理页面,提供集群状态查询、集群指令下发、注册agent key等能力。
本公开实施例按照服务功能将业务网络划分为至少一个代理集群,可根据服务功能为请求服务的用户进行流量划分,合理规划实现服务负载均衡,提升网络性能。
在一种实施方式中,节点包括业务服务器;上述流量管理方法还包括:在节点为业务服务器的情况下,流量管理信息包括业务服务器所属的资源组的信息。
图3是根据本公开另一实施例的流量管理方法的业务服务器启动的交互流程图。如图3所示,业务服务器启动的交互流程可包括以下步骤:
1、业务服务器启动,给种子节点发送加入命令。
其中,可预先为业务服务器配置至少一个种子节点。例如可将代理集群中的至少一个ITG服务节点配置为业务服务器的种子节点。业务服务器启动后可通过种子节点加入到代理集群中。
2、ITG服务节点向业务服务器返回业务服务器所属的代理集群的成员列表。
3、业务服务器发送自身的元信息到ITG服务节点。
其中,业务服务器可在代理集群中广播自身的元信息,使得代理集群中的其他节点感知到新启动的业务服务器。包括ITG服务节点在内的代理集群中所有的节点均可接收到业务服务器的元信息。ITG服务节点接收到业务服务器的元信息后,解析出其Agent Key及附带的身份信息,对业务服务器进行注册。
4、ITG服务节点检查是否有与业务服务器预期匹配的LGB(Load Balance Group,资源组)信息。
5、若ITG服务节点获取到业务服务器的LGB(资源组)信息,则向业务服务器返回该信息。
6、业务服务器广播元信息。
其中,业务服务器根据返回的LGB信息更新其元信息并再次广播。在业务网络运行的流量交互过程中,通过预先配置的LGB信息可达到预期流量分组效果。
本公开实施例通过预先配置的资源组的信息,可对各个业务服务器的服务资源进行合理划分和调度,合理规划实现服务负载均衡,提升网络性能。
在一种实施方式中,节点包括客户端;本公开实施例的流量管理方法还包括:在节点为客户端的情况下,流量管理信息包括流量指令,流量指令用于指示预先为请求服务的用户配置的具有访问权限的资源组,资源组包括代理集群中的至少一个业务服务器。
图4是根据本公开另一实施例的流量管理方法的客户端启动的交互流程图。如图4所示,客户端启动的交互流程可包括以下步骤:
1、客户端启动,给种子节点发送加入命令。
其中,可预先为客户端配置至少一个种子节点。例如可将代理集群中的至少一个ITG服务节点或者其他的客户端配置为业务服务器的种子节点。业务服务器启动后可通过种子节点加入到代理集群中。
2、种子节点向客户端返回客户端所属的代理集群的成员列表,包括代理集群中的业务服务器列表(Agent Server List)。
3、广播元信息,加入到代理集群。
包括ITG服务节点在内的代理集群中所有的节点均可接收到客户端的元信息。ITG服务节点接收到客户端的元信息后,可对其进行注册。代理集群中其他节点收到元信息后,可感知到有新启动的客户端。
4、客户端可以向种子节点发送同步流量指令的请求。
5、种子节点向客户端返回流量指令。
6、客户端按照流量指令进行交互,将业务服务器列表及流量指令相结合组建负载均衡策略。
7、按照流量指令,客户端向业务服务器RPC(远程过程调用)请求,与业务服务器进行交互。
本公开实施例通过为客户端预先配置的流量指令,使得客户端根据流量指令访问有权限的资源组中的业务服务器,为请求服务的用户进行流量划分,合理规划实现服务负载均衡,提升网络性能。
图5是根据本公开另一实施例的流量管理方法的流程图。如图5所示,在一种实施方式中,上述流量管理方法还包括:
步骤S510,向预先配置的至少一个指定节点发送启动消息;
步骤S520,接收来自指定节点的代理集群的成员信息;
步骤S530,向成员信息中包括的代理集群中的节点广播流量管理服务器的元信息;
步骤S540,接收来自指定节点的根据元信息获取的代理集群的标识信息和为代理集群中的节点配置的流量管理信息;
步骤S550,对代理集群的标识信息进行注册。
在流量管理服务器启动后,可获取所有当前集群存在的Agent Key并进行注册,并获取代理集群中节点的状态,包括代理集群的成员列表、各业务服务器持有的LBG、各客户端持有的流量指令。在步骤S510中,流量管理服务器向预先配置的至少一个指定节点发送启动消息。指定节点可以是代理集群中除了启动的流量管理服务器之外的任何一个其他节点。将指定节点作为种子节点。种子节点接收到流量管理服务器的启动消息后,向流量管理服务器发送流量管理服务器所属的代理集群的成员信息。在步骤S520中,流量管理服务器接收来自指定节点的代理集群的成员信息,包括成员列表。
在步骤S530中,流量管理服务器向成员信息中包括的代理集群中的节点广播流量管理服务器自身的元信息,使得其他节点感知到有新启动的流量管理服务器。作为代理集群成员的指定节点也会接收到流量管理服务器自身的元信息。指定节点根据元信息获取流量管理服务器所属的代理集群的标识信息Agent Key和为代理集群中的节点配置的流量管理信息。
在步骤S540中,流量管理服务器接收来自指定节点的根据元信息获取的代理集群的标识信息和为代理集群中的节点配置的流量管理信息。流量管理服务器可根据流量管理信息对代理集群进行流量管理,包括向指定业务服务器下发LBG信息,向所有客户端广播流量指令。
在步骤S550中,流量管理服务器对代理集群的标识信息进行注册。流量管理服务器还可以将其自身注册为代理集群的客户端。
图6是根据本公开另一实施例的流量管理方法的ITG服务节点启动(也称为流量管理服务器)的交互流程图。如图6所示,ITG服务节点启动的交互流程可包括以下步骤:
1、ITG服务节点启动,加入代理集群。
其中,ITG服务节点可向种子节点发送启动消息。种子节点接收到启动消息后,向ITG服务节点发送其所属的代理集群的成员信息。ITG服务节点根据成员信息向代理集群的其他成员发送自身的元信息。种子节点接收到元信息后根据元信息获取ITG服务节点所属的代理集群的标识信息Agent Key,并发送给ITG服务节点。ITG服务节点对代理集群的标识信息进行注册,并将其自身注册为代理集群的客户端。
2、ITG服务节点订阅代理集群内所有节点的信息,包括业务服务器的LBG信息和客户端的流量指令。
3、ITG服务节点聚合代理集群内所有节点的元信息,分别进行注册。
其中,ITG服务节点可以以观察者模式与其他节点进行交互。ITG服务节点可以订阅其他节点发出的消息。例如可通过订阅的方式获取业务服务器的LBG信息和客户端的流量指令。参见图3和图4的示例,当有新启动的业务服务器和客户端时,ITG服务节点可以作为种子节点,接收新启动的节点的元信息。聚合代理集群内所有节点的元信息可包括:将新启动的节点的元信息与已注册的其他节点的元信息聚合。ITG服务节点对新启动的节点进行注册,使得新启动的节点加入到代理集群中。
本公开实施例通过预先配置的流量管理服务器对业务服务器和客户端下发流量管理信息,通过流量管理信息可实现流量划分及服务负载均衡,提升网络性能。
在一种实施方式中,节点包括客户端;上述流量管理方法还包括:
响应接收到新的流量指令,向客户端广播新的流量指令。
再参见图2,在业务网络管理平台中,可通过管理API对业务网络中的流程信息进行显示和管理。管理员可以通过管理API分配新的流量指令。例如,将请求流量身份“Traffic B”具有“GroupB”的资源组请求权限,更改为:请求流量身份“Traffic B”具有“GroupA”的资源组请求权限。流量管理服务器通过API接收到新的流量指令后,可向客户端广播新的流量指令,使得客户端根据流量指令与业务服务器进行交互。
图7是根据本公开另一实施例的流量管理方法的流量指令更新的交互流程图。如图7所示,流量指令更新的交互流程可包括以下步骤:
0、客户端与ITG服务节点(流量管理服务器)互相同步最新的流量指令。
1、管理员下发新的流量指令。
2、ITG服务节点广播新的流量指令。
3、客户端根据版本号判断是否应用新的流量指令。
其中,客户端接收到新的流量指令后,根据所属的代理集群的Agent Key过滤到属于自身的流量指令后,与本地流量指令进行合并。合并可包括若接收到的新的流量指令比本地流量指令具有更新的版本号,则用新版的流量指令覆盖掉旧版的流量指令。客户端根据新版的流量指令,可重新构建负载均衡策略。
4、客户端与ITG服务节点互相同步最新的流量指令。
本公开实施例可根据业务网络的运行状态动态调整流量指令,使得客户端根据新的流量指令与业务服务器进行交互,可针对业务网络的运行状态对流量分配进行实时调整,保证业务网络畅通、优化流量管理,提升网络性能。
图8是根据本公开一实施例的流量管理方法的流程图。图8所示的流量管理方法具体可应用于业务服务器,该流量管理方法包括:
步骤S810,向流量管理服务器发送启动消息;
步骤S820,接收来自流量管理服务器的代理集群的成员信息;
步骤S830,向成员信息中包括的代理集群中的节点广播业务服务器的元信息;
步骤S840,接收来自流量管理服务器的根据元信息获取的流量管理信息;其中,流量管理信息包括业务服务器所属的资源组的信息。
参见图1、图2、图3和图8所示,可预先为业务服务器配置至少一个种子节点。在一个示例中,可将流量管理服务器配置为业务服务器的种子节点。在步骤S810中,业务服务器启动后可向流量管理服务器发送启动消息。在步骤S110中,流量管理服务器接收到业务服务器的启动信息后,向启动的业务服务器发送代理集群的成员信息。在步骤S820中,业务服务器接收来自流量管理服务器的代理集群的成员信息。在步骤S830中,业务服务器向成员信息中节点广播业务服务器的元信息。在步骤S120中,作为代理集群中的节点之一的流量管理服务器也接收到了启动的业务服务器的元信息。在步骤S130中,流量管理服务器根据启动的业务服务器的元信息将该节点注册为代理集群的成员。在步骤S140中,流量管理服务器向启动的业务服务器发送为该节点配置的流量管理信息。在步骤S840中,业务服务器接收来自流量管理服务器的根据元信息获取的流量管理信息。其中,流量管理信息包括业务服务器所属的资源组的信息。在业务网络运行的流量交互过程中,通过预先配置的资源组的信息可达到预期流量分组效果。以上交互过程可参见图1、图2、图3和图8中所示实施例的对应描述,在此不再赘述。
本公开实施例中业务服务器获取预先配置的资源组的信息,按照资源组的规划对外提供服务资源,实现服务负载均衡,提升网络性能。
图9是根据本公开一实施例的流量管理方法的流程图。图9所示的流量管理方法具体可应用于客户端,该流量管理方法包括:
步骤S910,向流量管理服务器发送启动消息;
步骤S920,接收来自流量管理服务器的代理集群的成员信息;
步骤S930,向成员信息中包括的代理集群中的节点广播客户端的元信息;
步骤S940,接收来自流量管理服务器的根据元信息获取的流量管理信息;其中,流量管理信息包括流量指令,流量指令用于指示预先为请求服务的用户配置的具有访问权限的资源组,资源组包括代理集群中的至少一个业务服务器。
参见图1、图2、图4和图9所示,可预先为客户端配置至少一个种子节点。在一个示例中,可将流量管理服务器配置为客户端的种子节点。在步骤S910中,客户端启动后可向流量管理服务器发送启动消息。在步骤S110中,流量管理服务器接收到客户端的启动信息后,向启动的客户端发送代理集群的成员信息。在步骤S920中,客户端接收来自流量管理服务器的代理集群的成员信息。在步骤S930中,客户端向成员信息中节点广播业务服务器的元信息。在步骤S120中,作为代理集群中的节点之一的流量管理服务器也接收到了启动的客户端的元信息。在步骤S130中,流量管理服务器根据启动的客户端的元信息将该节点注册为代理集群的成员。在步骤S140中,流量管理服务器向启动的客户端发送为该节点配置的流量管理信息。在步骤S940中,客户端接收来自流量管理服务器的根据元信息获取的流量管理信息。其中,流量管理信息包括流量指令。流量指令用于指示代理集群中的哪些业务服务器为哪些请求服务的用户提供服务。以上交互过程可参见图1、图2、图4和图9中所示实施例的对应描述,在此不再赘述。
本公开实施例中客户端获取预先配置的流量指令,根据流量指令访问有权限的资源组中的业务服务器,为请求服务的用户进行流量划分,合理规划实现服务负载均衡,提升网络性能。
在一种实施方式中,上述流量管理方法还包括:
响应接收到用户的服务请求,根据流量指令获取资源组;
向资源组中的业务服务器发送服务请求。
在一个示例中,客户端接收到用户的服务请求后,根据用户的请求流量身份Traffic Id查询流量指令,再根据流量指令获取资源组。例如,向客户端请求服务的用户对应的请求流量身份Traffic Id为“Traffic B”。参见表1所示,客户端在流量指令中查询得到“Traffic B”具有资源组“GroupB”的请求权限。则响应接收到用户的服务请求,客户端向资源组“GroupB”中的业务服务器发送服务请求。
本公开实施例中通过为业务服务器预先配置资源组,为客户端预先配置的流量指令,以及为每个用户配置资源组的访问权限,使得客户端能够根据流量指令访问有权限的资源组中的业务服务器,为请求服务的用户进行流量划分,合理规划实现服务负载均衡,提升网络性能。
在一种实施方式中,上述流量管理方法还包括:
接收来自流量管理服务器的新的流量指令;
获取新的流量指令的版本号;
根据版本号确定是否根据新的流量指令获取资源组。
参见图2和图7所示,管理员可以通过管理API分配新的流量指令。例如,将请求流量身份“Traffic B”具有“GroupB”的资源组请求权限,更改为:请求流量身份“Traffic B”具有“GroupA”的资源组请求权限。流量管理服务器通过API接收到新的流量指令后,可向客户端广播新的流量指令。客户端接收来自流量管理服务器的新的流量指令之后,可从新的流量指令中解析出新的流量指令的版本号。客户端根据版本号确定是否根据新的流量指令获取资源组。若接收到的新的流量指令比本地流量指令具有更新的版本号,则用新版的流量指令覆盖掉旧版的流量指令。客户端根据新的流量指令获取资源组,与该资源组中的业务服务器进行交互。以上交互过程可参见图2和图7中所示实施例的对应描述,在此不再赘述。
本公开实施例中客户端可根据最新版本的流量指令与代理集群中的其他节点进行交互,使得业务网络的运行状态可以实时进行动态调整,保证业务网络畅通,提升网络性能。
图10是根据本公开一实施例的流量管理方法的流程图。图10所示的流量管理方法具体可应用于代理集群中的任何一个节点,该节点可作为预先为流量管理服务器配置的指定节点,也就是种子节点。该流量管理方法包括:
步骤S1010,响应于流量管理服务器的启动信息,向流量管理服务器发送流量管理服务器所属的代理集群的成员信息;
步骤S1020,接收来自流量管理服务器的元信息;
步骤S1030,根据元信息获取流量管理服务器所属的代理集群的标识信息和为代理集群中的节点配置的流量管理信息;
步骤S1040,向流量管理服务器发送流量管理服务器所属的代理集群的标识信息和为代理集群中的节点配置的流量管理信息。
参见图1、图2、图5、图6和图10所示,在步骤S510中,流量管理服务器向预先配置的至少一个指定节点发送启动消息。指定节点可以是代理集群中除了启动的流量管理服务器之外的任何一个其他节点。将指定节点作为种子节点。在步骤S1010中,指定节点接收到流量管理服务器的启动消息后,向流量管理服务器发送流量管理服务器所属的代理集群的成员信息。在步骤S520中,流量管理服务器接收来自指定节点的代理集群的成员信息,包括成员列表。在步骤S530中,流量管理服务器向成员信息中包括的代理集群中的节点广播流量管理服务器自身的元信息。在步骤S1020中,作为代理集群成员的指定节点也会接收到来自流量管理服务器的元信息。在步骤S1030中,指定节点根据元信息获取流量管理服务器所属的代理集群的标识信息Agent Key和为代理集群中的节点配置的流量管理信息。在步骤S1040中,指定节点向流量管理服务器发送流量管理服务器所属的代理集群的标识信息和为代理集群中的节点配置的流量管理信息。在步骤S540中,流量管理服务器接收来自指定节点的根据元信息获取的代理集群的标识信息和为代理集群中的节点配置的流量管理信息。流量管理服务器可根据流量管理信息对代理集群进行流量管理,包括向指定业务服务器下发LBG信息,向所有客户端广播流量指令。在步骤S550中,流量管理服务器对代理集群的标识信息进行注册。以上交互过程可参见图1、图2、图5、图6和图10中所示实施例的对应描述,在此不再赘述。
本公开实施例中流量管理服务器启动后从指定节点获取流量管理信息,通过流量管理信息可实现流量划分及服务负载均衡,提升网络性能。
图11是根据本公开一实施例的流量管理装置的示意图。图11所示的流量管理装置具体可应用于流量管理服务器。参见图11,该流量管理装置包括:
第一发送单元111,用于响应于代理集群中的节点的启动信息,向节点发送代理集群的成员信息;
第一接收单元112,用于接收节点的元信息;
注册单元113,用于根据元信息将节点注册为代理集群的成员;
第二发送单元114,用于发送为节点配置的流量管理信息。
图12是根据本公开另一实施例的流量管理装置的示意图。图12所示的流量管理装置具体可应用于流量管理服务器。如图12所示,本实施例可以包括上述应用于流量管理服务器的装置实施例的各个单元。此外,在一种实施方式中,上述装置还包括规划单元121,规划单元121用于:
按照服务功能将业务网络划分为至少一个代理集群;其中,代理集群包括至少一个业务服务器和至少一个客户端。
在一种实施方式中,节点包括业务服务器;在节点为业务服务器的情况下,流量管理信息包括业务服务器所属的资源组的信息。
在一种实施方式中,节点包括客户端;在节点为客户端的情况下,流量管理信息包括流量指令,流量指令用于指示预先为请求服务的用户配置的具有访问权限的资源组,资源组包括代理集群中的至少一个业务服务器。
图13是根据本公开另一实施例的流量管理装置的示意图。图13所示的流量管理装置具体可应用于流量管理服务器。如图13所示,本实施例可以包括上述应用于流量管理服务器的任一装置实施例的各个单元。此外,在一种实施方式中,上述装置还包括启动单元131,启动单元131用于:
向预先配置的至少一个指定节点发送启动消息;
接收来自指定节点的代理集群的成员信息;
向成员信息中包括的代理集群中的节点广播流量管理服务器的元信息;
接收来自指定节点的根据元信息获取的代理集群的标识信息和为代理集群中的节点配置的流量管理信息;
对代理集群的标识信息进行注册。
在一种实施方式中,节点包括客户端;第二发送单元114还用于:
响应接收到新的流量指令,向客户端广播新的流量指令。
图14是根据本公开一实施例的流量管理装置的流程图。图14所示的流量管理装置具体可应用于业务服务器。参见图14,该流量管理装置包括:
第三发送单元141,用于向流量管理服务器发送启动消息;
第二接收单元142,用于接收来自流量管理服务器的代理集群的成员信息;
第一广播单元143,用于向成员信息中包括的代理集群中的节点广播业务服务器的元信息;
第三接收单元144,用于接收来自流量管理服务器的根据元信息获取的流量管理信息;其中,流量管理信息包括业务服务器所属的资源组的信息。
图15是根据本公开一实施例的流量管理装置的流程图。图15所示的流量管理装置具体可应用于客户端。参见图15,该流量管理装置包括:
第四发送单元151,用于向流量管理服务器发送启动消息;
第四接收单元152,用于接收来自流量管理服务器的代理集群的成员信息;
第二广播单元153,用于向成员信息中包括的代理集群中的节点广播客户端的元信息;
第五接收单元154,用于接收来自流量管理服务器的根据元信息获取的流量管理信息;其中,流量管理信息包括流量指令,流量指令用于指示预先为请求服务的用户配置的具有访问权限的资源组,资源组包括代理集群中的至少一个业务服务器。
图16是根据本公开另一实施例的流量管理装置的流程图。图16所示的流量管理装置具体可应用于客户端。参见图16,本实施例可以包括上述应用于客户端的装置实施例的各个单元。此外,在一种实施方式中,上述装置还包括服务请求单元161,服务请求单元161用于:
响应接收到用户的服务请求,根据流量指令获取资源组;
向资源组中的业务服务器发送服务请求。
参见图16,在一种实施方式中,上述装置还包括指令更新单元162,指令更新单元162用于:
接收来自流量管理服务器的新的流量指令;
获取新的流量指令的版本号;
根据版本号确定是否根据新的流量指令获取资源组。
图17是根据本公开一实施例的流量管理装置的流程图。图17所示的流量管理装置具体可应用于代理集群中的任何一个节点,该节点可作为预先为流量管理服务器配置的指定节点,也就是种子节点。参见图17,该流量管理装置包括:
第五发送单元171,用于响应于流量管理服务器的启动信息,向流量管理服务器发送流量管理服务器所属的代理集群的成员信息;
第六接收单元172,用于接收来自流量管理服务器的元信息;
获取单元173,用于根据元信息获取流量管理服务器所属的代理集群的标识信息和为代理集群中的节点配置的流量管理信息;
第六发送单元174,用于向流量管理服务器发送流量管理服务器所属的代理集群的标识信息和为代理集群中的节点配置的流量管理信息。
本公开实施例的数据分发装置中的各单元的功能可以参见上述各流量管理方法中的对应描述,在此不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图18示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或要求的本公开的实现。
如图18所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个流量管理方法和处理,例如流量管理方法。例如,在一些实施例中,流量管理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的流量管理方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行流量管理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的流量管理方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (25)
1.一种流量管理方法,包括:
响应于代理集群中的节点的启动信息,向所述节点发送所述代理集群的成员信息;
接收所述节点的元信息;
根据所述元信息将所述节点注册为所述代理集群的成员;
发送为所述节点配置的流量管理信息。
2.根据权利要求1所述的方法,其中,所述方法还包括:
按照服务功能将业务网络划分为至少一个代理集群;其中,所述代理集群包括至少一个业务服务器和至少一个客户端。
3.根据权利要求1所述的方法,其中,所述节点包括业务服务器;所述方法还包括:在所述节点为业务服务器的情况下,所述流量管理信息包括所述业务服务器所属的资源组的信息。
4.根据权利要求1所述的方法,其中,所述节点包括客户端;所述方法还包括:在所述节点为客户端的情况下,所述流量管理信息包括流量指令,所述流量指令用于指示预先为请求服务的用户配置的具有访问权限的资源组,所述资源组包括所述代理集群中的至少一个业务服务器。
5.根据权利要求1所述的方法,所述方法还包括:
向预先配置的至少一个指定节点发送启动消息;
接收来自所述指定节点的所述代理集群的成员信息;
向所述成员信息中包括的所述代理集群中的节点广播流量管理服务器的元信息;
接收来自所述指定节点的根据所述元信息获取的所述代理集群的标识信息和为所述代理集群中的节点配置的流量管理信息;
对所述代理集群的标识信息进行注册。
6.根据权利要求1至5中任一项所述的方法,其中,所述节点包括客户端;所述方法还包括:
响应接收到新的流量指令,向所述客户端广播所述新的流量指令。
7.一种流量管理方法,包括:
向流量管理服务器发送启动消息;
接收来自所述流量管理服务器的代理集群的成员信息;
向所述成员信息中包括的所述代理集群中的节点广播业务服务器的元信息;
接收来自所述流量管理服务器的根据所述元信息获取的流量管理信息;其中,所述流量管理信息包括业务服务器所属的资源组的信息。
8.一种流量管理方法,包括:
向流量管理服务器发送启动消息;
接收来自所述流量管理服务器的代理集群的成员信息;
向所述成员信息中包括的所述代理集群中的节点广播客户端的元信息;
接收来自所述流量管理服务器的根据所述元信息获取的流量管理信息;其中,所述流量管理信息包括流量指令,所述流量指令用于指示预先为请求服务的用户配置的具有访问权限的资源组,所述资源组包括所述代理集群中的至少一个业务服务器。
9.根据权利要求8所述的方法,所述方法还包括:
响应接收到用户的服务请求,根据所述流量指令获取所述资源组;
向所述资源组中的业务服务器发送服务请求。
10.根据权利要求9所述的方法,所述方法还包括:
接收来自所述流量管理服务器的新的流量指令;
获取所述新的流量指令的版本号;
根据所述版本号确定是否根据所述新的流量指令获取所述资源组。
11.一种流量管理方法,包括:
响应于流量管理服务器的启动信息,向所述流量管理服务器发送所述流量管理服务器所属的代理集群的成员信息;
接收来自所述流量管理服务器的元信息;
根据所述元信息获取所述流量管理服务器所属的代理集群的标识信息和为所述代理集群中的节点配置的流量管理信息;
向所述流量管理服务器发送所述流量管理服务器所属的代理集群的标识信息和为所述代理集群中的节点配置的流量管理信息。
12.一种流量管理装置,包括:
第一发送单元,用于响应于代理集群中的节点的启动信息,向所述节点发送所述代理集群的成员信息;
第一接收单元,用于接收所述节点的元信息;
注册单元,用于根据所述元信息将所述节点注册为所述代理集群的成员;
第二发送单元,用于发送为所述节点配置的流量管理信息。
13.根据权利要求12所述的装置,其中,所述装置还包括规划单元,所述规划单元用于:
按照服务功能将业务网络划分为至少一个代理集群;其中,所述代理集群包括至少一个业务服务器和至少一个客户端。
14.根据权利要求12所述的装置,其中,所述节点包括业务服务器;在所述节点为业务服务器的情况下,所述流量管理信息包括所述业务服务器所属的资源组的信息。
15.根据权利要求12所述的装置,其中,所述节点包括客户端;在所述节点为客户端的情况下,所述流量管理信息包括流量指令,所述流量指令用于指示预先为请求服务的用户配置的具有访问权限的资源组,所述资源组包括所述代理集群中的至少一个业务服务器。
16.根据权利要求12所述的装置,所述装置还包括启动单元,所述启动单元用于:
向预先配置的至少一个指定节点发送启动消息;
接收来自所述指定节点的所述代理集群的成员信息;
向所述成员信息中包括的所述代理集群中的节点广播流量管理服务器的元信息;
接收来自所述指定节点的根据所述元信息获取的所述代理集群的标识信息和为所述代理集群中的节点配置的流量管理信息;
对所述代理集群的标识信息进行注册。
17.根据权利要求12至16中任一项所述的装置,其中,所述节点包括客户端;所述第二发送单元还用于:
响应接收到新的流量指令,向所述客户端广播所述新的流量指令。
18.一种流量管理装置,包括:
第三发送单元,用于向流量管理服务器发送启动消息;
第二接收单元,用于接收来自所述流量管理服务器的代理集群的成员信息;
第一广播单元,用于向所述成员信息中包括的所述代理集群中的节点广播业务服务器的元信息;
第三接收单元,用于接收来自所述流量管理服务器的根据所述元信息获取的流量管理信息;其中,所述流量管理信息包括业务服务器所属的资源组的信息。
19.一种流量管理装置,包括:
第四发送单元,用于向流量管理服务器发送启动消息;
第四接收单元,用于接收来自所述流量管理服务器的代理集群的成员信息;
第二广播单元,用于向所述成员信息中包括的所述代理集群中的节点广播客户端的元信息;
第五接收单元,用于接收来自所述流量管理服务器的根据所述元信息获取的流量管理信息;其中,所述流量管理信息包括流量指令,所述流量指令用于指示预先为请求服务的用户配置的具有访问权限的资源组,所述资源组包括所述代理集群中的至少一个业务服务器。
20.根据权利要求19所述的装置,所述装置还包括服务请求单元,所述服务请求单元用于:
响应接收到用户的服务请求,根据所述流量指令获取所述资源组;
向所述资源组中的业务服务器发送服务请求。
21.根据权利要求20所述的装置,所述装置还包括指令更新单元,所述指令更新单元用于:
接收来自所述流量管理服务器的新的流量指令;
获取所述新的流量指令的版本号;
根据所述版本号确定是否根据所述新的流量指令获取所述资源组。
22.一种流量管理装置,包括:
第五发送单元,用于响应于流量管理服务器的启动信息,向所述流量管理服务器发送所述流量管理服务器所属的代理集群的成员信息;
第六接收单元,用于接收来自所述流量管理服务器的元信息;
获取单元,用于根据所述元信息获取所述流量管理服务器所属的代理集群的标识信息和为所述代理集群中的节点配置的流量管理信息;
第六发送单元,用于向所述流量管理服务器发送所述流量管理服务器所属的代理集群的标识信息和为所述代理集群中的节点配置的流量管理信息。
23.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的方法。
24.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行权利要求1-11中任一项所述的方法。
25.一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110112812.5A CN112910796B (zh) | 2021-01-27 | 2021-01-27 | 流量管理方法、装置、设备、存储介质以及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110112812.5A CN112910796B (zh) | 2021-01-27 | 2021-01-27 | 流量管理方法、装置、设备、存储介质以及程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112910796A true CN112910796A (zh) | 2021-06-04 |
CN112910796B CN112910796B (zh) | 2022-12-16 |
Family
ID=76118958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110112812.5A Active CN112910796B (zh) | 2021-01-27 | 2021-01-27 | 流量管理方法、装置、设备、存储介质以及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112910796B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113660339A (zh) * | 2021-08-18 | 2021-11-16 | 北京百度网讯科技有限公司 | 用于去中心化集群的方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724104A (zh) * | 2011-03-30 | 2012-10-10 | 北京东方通科技股份有限公司 | 自动配置Java EE应用集群的装置和方法 |
US20160085645A1 (en) * | 2014-09-19 | 2016-03-24 | Netapp Inc. | Cluster-wide service agents |
US20160094625A1 (en) * | 2014-01-21 | 2016-03-31 | Oracle International Corporation | System and method for dynamic clustered jms in an application server environment |
CN105897827A (zh) * | 2015-11-27 | 2016-08-24 | 乐视云计算有限公司 | 服务器节点、局域网服务器集群及其实现方法 |
CN107577534A (zh) * | 2017-08-31 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种资源调度方法及装置 |
CN109298897A (zh) * | 2018-06-29 | 2019-02-01 | 杭州数澜科技有限公司 | 一种采用资源组的任务分发的系统和方法 |
CN111770176A (zh) * | 2020-06-29 | 2020-10-13 | 北京百度网讯科技有限公司 | 流量调度方法及装置 |
CN112202746A (zh) * | 2020-09-24 | 2021-01-08 | 北京百度网讯科技有限公司 | Rpc成员信息获取方法、装置、电子设备和存储介质 |
-
2021
- 2021-01-27 CN CN202110112812.5A patent/CN112910796B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724104A (zh) * | 2011-03-30 | 2012-10-10 | 北京东方通科技股份有限公司 | 自动配置Java EE应用集群的装置和方法 |
US20160094625A1 (en) * | 2014-01-21 | 2016-03-31 | Oracle International Corporation | System and method for dynamic clustered jms in an application server environment |
US20160085645A1 (en) * | 2014-09-19 | 2016-03-24 | Netapp Inc. | Cluster-wide service agents |
CN105897827A (zh) * | 2015-11-27 | 2016-08-24 | 乐视云计算有限公司 | 服务器节点、局域网服务器集群及其实现方法 |
CN107577534A (zh) * | 2017-08-31 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种资源调度方法及装置 |
CN109298897A (zh) * | 2018-06-29 | 2019-02-01 | 杭州数澜科技有限公司 | 一种采用资源组的任务分发的系统和方法 |
CN111770176A (zh) * | 2020-06-29 | 2020-10-13 | 北京百度网讯科技有限公司 | 流量调度方法及装置 |
CN112202746A (zh) * | 2020-09-24 | 2021-01-08 | 北京百度网讯科技有限公司 | Rpc成员信息获取方法、装置、电子设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113660339A (zh) * | 2021-08-18 | 2021-11-16 | 北京百度网讯科技有限公司 | 用于去中心化集群的方法和装置 |
CN113660339B (zh) * | 2021-08-18 | 2023-08-04 | 北京百度网讯科技有限公司 | 用于去中心化集群的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112910796B (zh) | 2022-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10657012B2 (en) | Dynamically changing members of a consensus group in a distributed self-healing coordination service | |
US9052962B2 (en) | Distributed storage of data in a cloud storage system | |
JP5582344B2 (ja) | 接続管理システム、及びシンクライアントシステムにおける接続管理サーバの連携方法 | |
CN112804722A (zh) | 一种微服务网关动态路由的实现方法 | |
US11356531B2 (en) | Data caching for cloud services | |
US10771570B2 (en) | Scalable message passing architecture a cloud environment | |
US10469593B2 (en) | Method and system for sharded resource brokering | |
CN110830574B (zh) | 一种基于docker容器实现内网负载均衡的方法 | |
US11706298B2 (en) | Multichannel virtual internet protocol address affinity | |
US20200159560A1 (en) | Propagating ordered object changes | |
CN115150410A (zh) | 多集群访问方法和系统 | |
CN112910796B (zh) | 流量管理方法、装置、设备、存储介质以及程序产品 | |
US10885028B2 (en) | Searching and aggregating data across multiple geolocations | |
US9015371B1 (en) | Method to discover multiple paths to disk devices cluster wide | |
CN116708538A (zh) | 一种以对等网络为基础的微服务系统 | |
US9405923B2 (en) | Establishing isolation between content hosting services executing on common support server | |
WO2021057150A1 (zh) | 端口共享方法及装置、存储介质、电子装置 | |
US10637924B2 (en) | Cloud metadata discovery API | |
US9841929B1 (en) | Distributed system software infrastructure | |
CN112799849A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
US11943316B1 (en) | Database connection multiplexing for prepared statements | |
EP4293533A1 (en) | Native multi-tenancy for database system | |
US9548940B2 (en) | Master election among resource managers | |
CN111324371A (zh) | 一种流水线saas服务插件支持自定义环境及任务的方法 | |
CN117251872A (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 |