CN113098788B - 一种路由发布的方法及装置 - Google Patents

一种路由发布的方法及装置 Download PDF

Info

Publication number
CN113098788B
CN113098788B CN202110252007.2A CN202110252007A CN113098788B CN 113098788 B CN113098788 B CN 113098788B CN 202110252007 A CN202110252007 A CN 202110252007A CN 113098788 B CN113098788 B CN 113098788B
Authority
CN
China
Prior art keywords
load balancing
virtual service
priority
balancing device
cluster
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
Application number
CN202110252007.2A
Other languages
English (en)
Other versions
CN113098788A (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.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies 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 Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN202110252007.2A priority Critical patent/CN113098788B/zh
Publication of CN113098788A publication Critical patent/CN113098788A/zh
Application granted granted Critical
Publication of CN113098788B publication Critical patent/CN113098788B/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2458Modification of priorities while in transit
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种路由发布的方法及装置,该方法包括:针对本负载均衡设备上已配置的任意虚拟服务,检测其是否关联优先设备集群;若关联则检测本负载均衡设备是否为优先设备集群中优先级最高的;若是则向客户端侧的至少一个网络设备发布虚拟服务的路由信息;若否则不进行虚拟服务的路由发布。本方案为各虚拟服务关联优先设备集群,仅由优先设备集群中优先级最高的负载均衡设备发布该虚拟服务的路由信息,避免生成同一虚拟服务的多个等价路由,从而使各访问请求能够按唯一路由转发至理想的负载均衡设备进行调度,使负载均衡设备集群能够正确高效地运行。

Description

一种路由发布的方法及装置
技术领域
本申请涉及通信技术领域,特别是一种路由发布的方法及装置。
背景技术
当多个后台服务器统一向外提供相同服务时,通常设置一个代理设备以虚拟服务的形式代为接收来自客户端的访问请求,所述代理设备一般是网络中的一台负载均衡设备。
例如,百度拥有多个后台服务器提供搜索服务,由这多个后台服务器所提供的搜索服务即构成一个虚拟服务,这一虚拟服务将被配置在负载均衡设备上且具有一个相应的虚拟地址。当客户端向这一虚拟地址发起对百度搜索的访问请求时,负载均衡设备将根据所接收访问请求中的这一虚拟地址将其转至提供百度搜索服务的后台服务器之一以使该访问请求得以被响应。
而同一台负载均衡设备上可以配置多种虚拟服务,如果采用一台负载均衡设备代为接收针对各虚拟服务的访问请求,将由该负载均衡设备发布已配置的各虚拟服务的路由信息,并由该负载均衡设备将各虚拟服务的访问请求转至对应的后台服务器。
如果采用多个负载均衡设备构成的负载均衡设备集群代为接收针对各虚拟服务的访问请求,各负载均衡设备上都将配置若干虚拟服务。各负载均衡设备上所配置的虚拟服务可能相同或部分相同,即同一虚拟服务可能同时配置在多个负载均衡设备上,此时,将会有多个负载均衡设备以自身地址发布同一虚拟服务的路由信息,即,生成了该虚拟服务的多条等价路由。但是所述同一虚拟服务的多条等价路由中仅有一条指向转达该虚拟服务访问请求的理想的负载均衡设备,客户端向该虚拟服务发出的访问请求有极大可能按非理想的负载均衡设备所发布的路由信息进行跳转而到达了非理想的负载均衡设备上。
发明内容
本申请提供一种路由发布的方法及装置。
根据本申请实施例的第一方面,提供一种路由发布的方法,所述方法应用于负载均衡设备集群中的任一负载均衡设备上,所述方法包括:
针对本负载均衡设备上已配置的任意虚拟服务,检测所述虚拟服务是否关联用于代所述虚拟服务接收访问请求的优先设备集群,所述优先设备集群包括若干优先级不同的负载均衡设备;
当所述虚拟服务关联有优先设备集群时,检测本负载均衡设备是否为所述优先设备集群中优先级最高的负载均衡设备;
若是,则向客户端侧的至少一个网络设备发布所述虚拟服务的路由信息,所述路由信息包括本负载均衡设备地址和所述虚拟服务的虚拟地址;
若否,则不进行所述虚拟服务的路由发布。
根据本申请实施例的第二方面,提供一种路由发布的装置,所述装置应用于负载均衡设备集群中的任一负载均衡设备上,所述装置包括集群检测单元、优先级检测单元和发布单元:
其中,集群检测单元,用于针对本负载均衡设备上已配置的任意虚拟服务,检测所述虚拟服务是否关联用于代所述虚拟服务接收访问请求的优先设备集群,所述优先设备集群包括若干优先级不同的负载均衡设备;
优先级检测单元,用于在所述虚拟服务关联有优先设备集群时,检测本负载均衡设备是否为所述优先设备集群中优先级最高的负载均衡设备;
发布单元,用于在确定本负载均衡设备为所述优先设备集群中优先级最高的负载均衡设备时,向客户端侧的至少一个网络设备发布所述虚拟服务的路由信息,所述路由信息包括本负载均衡设备地址和所述虚拟服务的虚拟地址;
还用于在确定本负载均衡设备非所述优先设备集群中优先级最高的负载均衡设备时,不进行所述虚拟服务的路由发布。
本申请技术方案,在采用负载均衡设备集群代虚拟服务发布路由信息时,为各虚拟服务关联优先设备集群,仅由优先设备集群中优先级最高的负载均衡设备发布该虚拟服务的路由信息,避免生成同一虚拟服务的多个等价路由,从而使得对各虚拟服务的访问请求能够按唯一路由转发至理想的负载均衡设备进行调度,使得负载均衡设备集群能够正确高效地运行。
附图说明
图1为采用一台负载均衡设备进行虚拟服务的路由发布的组网架构示意图;
图2为采用负载均衡设备集群进行虚拟服务的路由发布的组网架构示意图;
图3为本申请所提供的一种路由发布的方法流程图;
图4为本申请方案中一种向客户端侧的网络设备发布路由信息的示意图;
图5为本申请方案中另一种向客户端侧的网络设备发布路由信息的示意图;
图6为本申请所提供的一种路由发布的装置所在网络设备的硬件结构示意图;
图7为本申请所提供的一种路由发布的装置框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
当多个后台服务器统一向外提供相同服务时,可以设置一个代理设备以虚拟服务的形式代为接收来自客户端的访问请求,这一代理设备通常是网络中的一台负载均衡设备。
图1所示,即采用一台负载均衡设备代各虚拟服务发布路由信息并接收访问请求的组网架构示意图,以下叙述仅用于解释说明,不构成对本申请的限制。
该组网中,由后台服务器1和后台服务器2提供虚拟服务VS1,由后台服务器2、后台服务器3和后台服务器4提供虚拟服务VS2。所述多个后台服务器提供的虚拟服务,可以按后台服务器所属的平台或网站划分,如:面向百度的虚拟服务、面向新浪的虚拟服务等;也可以按后台服务器执行的具体功能划分,如:百度的搜索虚拟服务、百度的认证虚拟服务等,本申请对此不做具体限制。
所述虚拟服务VS1和虚拟服务VS2都将被配置在图1中的这一台负载均衡设备上,由这一台负载均衡设备以自身地址LA向客户端侧的网络设备发布虚拟服务VS1和VS2的路由信息。
虚拟服务的路由发布并不使用对应的后台服务器的真实地址,而是使用一个虚拟地址来表征该虚拟服务,例如,虚拟服务VS1和VS2将分别以虚拟地址VA1和VA2表征。负载均衡设备发布虚拟服务VS1和VS2的路由信息,即告知客户端侧的网络设备,向虚拟地址VA1发起的对虚拟服务VS1的访问请求以及向虚拟地址VA2发起的对虚拟服务VS2的访问请求,均由本负载均衡设备转达,应先按本负载均衡设备地址LA进行转发。
图1中负载均衡设备在发布虚拟服务VS1和VS2的路由信息后,将接收到对虚拟服务VS1和VS2的访问请求,负载均衡设备可以解析出各访问请求中的虚拟地址,确定对应的虚拟服务,并按该虚拟服务的调度策略将访问请求转至对应的后台服务器进行处理和响应。
然而,如图2所示,如果采用由多个负载均衡设备构成的负载均衡设备集群代各虚拟服务发布路由信息并接收访问请求,各个负载均衡设备上所配置的虚拟服务可能是相同或部分相同的,即同一虚拟服务可能同时配置在多个负载均衡设备上,此时,针对同一个虚拟服务,可能存在由多个负载均衡设备分别以自身地址发布出的多条等价路由。
举例来说,假设负载均衡设备LB1上配置有虚拟服务VS1和VS2,它以自身地址LA1和虚拟地址VA1发布虚拟服务VS1的路由信息,并以自身地址LA1和虚拟地址VA2发布虚拟服务VS2的路由信息;同时,负载均衡设备LB2上也配置有虚拟服务VS1和VS2,它也以自身地址LA2和虚拟地址VA1发布虚拟服务VS1的路由信息,并以自身地址LA2和虚拟地址VA2发布虚拟服务VS2的路由信息。
因而,针对虚拟服务VS1或VS2,将存在由所述负载均衡设备LB1和LB2所分别发布的两条等价路由,这两条等价路由指向了不同的负载均衡设备,导致客户端对虚拟服务VS1或VS2的访问请求不能按照一条既定的路径到达理想的负载均衡设备进行调度,例如,对虚拟服务VS1和VS2的访问请求都到达了负载均衡设备LB1,却没有访问请求到达负载均衡设备LB2,从而对负载均衡设备集群的工作效率产生了负面影响。
有鉴于此,本申请提出一种路由发布的方法,应用于负载均衡设备集群中的任一负载均衡设备上;图2所示为其组网架构示意图,图3所示为其方法流程图。
该路由发布方法包括如下具体步骤:
步骤302,负载均衡设备集群中的任一负载均衡设备,针对本负载均衡设备上已配置的任意虚拟服务,检测所述虚拟服务是否关联用于代所述虚拟服务接收访问请求的优先设备集群,所述优先设备集群包括若干优先级不同的负载均衡设备。
本申请方案中可以为各虚拟服务关联用于代其接收访问请求的优先设备集群,所述优先设备集群包括所述负载均衡设备集群中的若干负载均衡设备,且分别设置有不同优先级。
所述优先设备集群中各负载均衡设备的优先级的确定方式包括但不限于根据各自性能或空闲程度确定,即,为性能更好或当前时刻更空闲的负载均衡设备设置更高的优先级;所述优先级可以使用次序表示,也可以使用数值表示。
所述优先设备集群中各负载均衡设备的优先级可以更改,包括提高或降低优先设备集群中若干负载均衡设备的优先级。在一个例子中,所述优先设备集群中各负载均衡设备的优先级可以由技术人员手动更改;在另一个例子中,所述优先设备集群中各负载均衡设备的优先级也可以由预设的管理设备定期检测各负载均衡设备的性能和空闲程度后进行更改。
所述优先设备集群中所包括的负载均衡设备同样可以更改,包括向优先设备集群中增设若干新的负载均衡设备,以及删除优先设备集群中若干原有的负载均衡设备。
各虚拟服务所关联优先设备集群中的负载均衡设备可以相同或部分相同,也可以不同;各虚拟服务所关联优先设备集群中优先级最高的负载均衡设备可以相同,也可以不同;本申请对此不做具体限制。
执行本申请所述路由发布方法的负载均衡设备处于负载均衡设备集群中且配置有若干虚拟服务,它将针对自身已配置的一或多个虚拟服务,检测所述虚拟服务是否关联有优先设备集群,若有,则转至步骤304做进一步检测,若无,则可按预设的方式处理。
若本负载均衡设备上已配置的所述虚拟服务未关联有优先设备集群,在一种可能的情况下,可以确定该虚拟服务仅配置在本负载均衡设备上而未配置在其他任一负载均衡设备上,所述预设的处理方式为本负载均衡设备直接进行该虚拟服务的路由发布;在另一种可能的情况下,则可以确定该虚拟服务的配置发生错误,所述预设的处理方式为本负载均衡设备不进行该虚拟服务的路由发布。负载均衡设备在所配置的虚拟服务未关联有优先设备集群时所采用的处理方式应视实际应用场景而定,本申请对此不做具体限制。
步骤304,当所述负载均衡设备确定所述虚拟服务关联有优先设备集群时,检测本负载均衡设备是否为所述优先设备集群中优先级最高的负载均衡设备。
各虚拟服务所关联的优先设备集群中优先级最高的负载均衡设备为当前代所述虚拟服务接收访问请求的理想的负载均衡设备,即代所述虚拟服务接收访问请求的主负载均衡设备,在本申请方案中,各虚拟服务的路由信息仅由所关联优先设备集群中优先级最高的负载均衡设备进行发布。
若基于步骤302,本负载均衡设备确定已配置的虚拟服务关联有优先设备集群,则本负载均衡设备将检测自身是否为所述虚拟服务所关联优先设备集群中优先级最高的负载均衡设备,例如,检测所述优先设备集群中本负载均衡设备的优先级次序是否为第一优先级次序,或检测优先设备集群中本负载均衡设备的优先级数值是否为最大值,进而确定是否进行后续虚拟服务的路由发布。
若确定本负载均衡设备即所述虚拟服务所关联优先设备集群中优先级最高的负载均衡设备,则转至步骤306;若否,则转至步骤308。
在一种可选择的实施方式中,若本负载均衡设备检测出已配置的所述虚拟服务所关联的优先设备集群中并不包括本负载均衡设备,可以确定该虚拟服务的配置发生错误,本负载均衡设备不进行所述虚拟服务的路由发布。
步骤306,若所述负载均衡设备确定本负载均衡设备为所述优先设备集群中优先级最高的负载均衡设备,则所述负载均衡设备向客户端侧的至少一个网络设备发布所述虚拟服务的路由信息,所述路由信息包括本负载均衡设备地址和所述虚拟服务的虚拟地址。
若基于步骤304,本负载均衡设备确定自身即所述虚拟服务所关联优先设备集群中优先级最高的负载均衡设备,则本负载均衡设备将进行所述虚拟服务的路由发布,以使客户端向所述虚拟服务的虚拟地址发起对所述虚拟服务的访问请求能够按照本负载均衡设备所发布的路由信息到达本负载均衡设备进行调度。
所述路由信息基于本负载均衡设备地址和所述虚拟服务的虚拟地址生成,其中,所述地址一般采用IP地址或采用IP地址结合端口号表征,具体形式此处不做限制。
本申请方案中,由于各虚拟服务所关联优先设备集群中优先级最高的负载均衡设备可以相同,也可以不同,若确定本负载均衡设备已配置的多个虚拟服务所关联的优先设备集群中本负载均衡设备均为优先级最高的负载均衡设备,则本负载均衡设备可以同时发布多个虚拟服务的路由信息。
在一种可选择的实施方式中,本负载均衡设备在进行虚拟服务的路由发布前,还可以检测所述虚拟服务是否被授权进行路由发布,例如,本负载均衡设备可以检测所述虚拟服务的虚拟地址是否被授权加入预设的路由协议中。
若所述虚拟服务被授权进行路由发布,则由本负载均衡设备向客户端侧的网络设备进行路由发布;若所述虚拟服务未被授权进行路由发布,则本负载均衡设备可以不进行所述虚拟服务的路由发布。
所述本负载均衡设备向客户端侧的至少一个网络设备进行所述虚拟服务的路由发布,存在多种可能的情况。
在一种可能的情况下,如图4所示,所述客户端侧的网络设备为本负载均衡设备所在网域的本地客户端,它与本负载均衡设备间的通信不需要经由诸如路由器、交换机等中转设备转发,本负载均衡设备可以通过广播、组播或单播方式向其直接进行虚拟服务的路由发布。
该情况下,本负载均衡设备直接以自身地址以及所述虚拟服务的虚拟地址生成该虚拟服务的路由信息并发布至所述客户端,使所述客户端对所述虚拟服务的访问请求直接转至本负载均衡设备进行调度。
在另一种可能的情况下,如图5所示,客户端与本负载均衡设备间的通信需要经由诸如路由器、交换机等中转设备进行转发。所述客户端侧的网络设备包括所述客户端与本负载均衡设备间的网络设备,它们通常并不在本负载均衡设备的本地网域内,即,它们通常是处于外网的路由器和交换机等;本负载均衡设备在向所述客户端与本负载均衡设备间的网络设备发布所述虚拟服务的路由信息时,具体包括如下步骤:
步骤3062,本负载均衡设备获取所述客户端与本负载均衡设备间的至少一个网络设备的地址,并根据预设的路由协议,计算所述客户端与本负载均衡设备之间的最优路由路径。
步骤3064,本负载均衡设备基于已计算的所述客户端与本负载均衡设备间的最优路由路径以及所述虚拟服务的虚拟地址生成所述虚拟服务的路由信息,并向所述网络设备进行发布。
所述预设的路由协议包括中间系统-中间系统协议IS-IS(Intermediate Systemto Intermediate System Routing)、开放最短路径优先协议OSPF(Open Shortest PathFirst)或边界网关协议BGP(Border Gateway Protocol)等,此处所述的路由协议仅用以示例说明,将本申请所提供的路由发布方法应用于使用其他未示出的路由协议的网络也应当在本申请的保护范围内。
所述计算客户端与本负载均衡设备之间的最优路由路径,具体的计算方式由所采用的路由协议决定,采用不同的路由协议,则计算所述最优路由路径的过程不同,最终所得到的最优路由路径也可能不同。
举例来说,链路状态路由协议IS-IS的网络拓扑结构中包括骨干网域和非骨干网域,骨干网域中的路由器标识为Level2路由器,非骨干网域中的路由器标识为Level1路由器,非骨干网域中承担与骨干网域进行交互的路由器标识为Level1/2路由器;此处以路由器进行示例说明,实际应用中也可能为三层交换机、服务器等其他执行转发的网络设备。
IS-IS所采用的算法为最短路径优先算法(SPF,Shortest Path First),该算法以本设备为根节点,其他设备为其他结点,构建出一棵最短路径树以使根节点到其他结点的累计开销最小,所述最短路径树上根节点到其它节点的路径即本设备到其他设备的最优路由路径。
若采用IS-IS协议,本负载均衡设备将基于同一非骨干网域中Level1路由器间的最优路由路径、骨干网域中Level2路由器间的最优路由路径,计算出客户端与本负载均衡设备间的最优路由路径,以所述最优路由路径以及所述虚拟服务的虚拟地址生成路由信息并下发至各路由器。
步骤308,若所述负载均衡设备确定本负载均衡设备非所述优先设备集群中优先级最高的负载均衡设备,则所述负载均衡设备不进行所述虚拟服务的路由发布。
若基于步骤304,本负载均衡设备确定自身非所述虚拟服务所关联优先设备集群中优先级最高的负载均衡设备,则本负载均衡设备并非当前代所述虚拟服务接收访问请求的主负载均衡设备,为保障负载均衡设备集群正确高效地工作,本负载均衡设备不进行所述虚拟服务的路由发布,避免生成等价路由。
进一步地,本申请方案还可以包括:
步骤310,当所述负载均衡设备监测到本负载均衡设备上已配置的任意虚拟服务所关联的优先设备集群中各负载均衡设备的优先级发生更改时,检测本负载均衡设备是否为更改后的所述优先设备集群中优先级最高的负载均衡设备;
若是,则重新向客户端侧的至少一个网络设备发布更新后的所述虚拟服务的路由信息。
基于步骤302所述,各虚拟服务所关联优先设备集群中所包括的具体负载均衡设备及其优先级都可能发生更改,相对地,各虚拟服务的路由信息也应当随之动态更新。
在一个例子中,负载均衡设备集群中的负载均衡设备可以按预设的时间周期,监测自身已配置的各虚拟服务所关联的优先设备集群是否发生更改,以检测并更新各虚拟服务的路由信息。
在另一个例子中,负载均衡设备集群中的负载均衡设备也可以在监测到技术人员手动更改自身已配置的虚拟服务所关联优先设备集群,或接收到管理设备发送的更改所述优先设备集群的指令时,检测并更新各虚拟服务的路由信息。
本负载均衡设备将检测自身是否为更改后的所述优先设备集群中优先级最高的负载均衡设备,并在是的情况下,重新向客户端侧的至少一个网络设备发布更新后的所述虚拟服务的路由信息,从而使得各虚拟服务所关联的优先设备集群中发生主备切换时,各虚拟服务的路由信息能够自动更新,无需人工调设,具体方式同步骤304至步骤308,此处不再赘述。
本申请技术方案,一方面,在采用负载均衡设备集群代各虚拟服务发布路由信息和接收访问请求时,为各虚拟服务关联优先设备集群,仅由优先设备集群中优先级最高的负载均衡设备发布该虚拟服务的路由信息,避免生成同一虚拟服务的多个等价路由,从而使得对各虚拟服务的访问请求能够按唯一路由转发至理想的负载均衡设备进行调度,负载均衡设备集群能够正确高效地工作。
另一方面,负载均衡设备集群中的各负载均衡设备监测自身已配置的各虚拟服务所关联的优先设备集群是否发生更改,并在本负载均衡设备被更改为某一虚拟服务所关联的优先设备集群中优先级最高的负载均衡设备时,及时重新发布该虚拟服务更新后的路由信息,达到动态路由收敛的技术效果。
为了使本领域技术人员更好地理解本申请中的技术方案,接下来结合附图,对本申请所提供的路由发布方法作进一步的详细说明,后续描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。
以图2所示的组网进行说明,后台服务器1和后台服务器2提供虚拟服务VS1,以虚拟地址VA1表征;后台服务器2、后台服务器3和后台服务器4提供虚拟服务VS2,以虚拟地址VA2表征;负载均衡设备集群包括两台负载均衡设备LB1和LB2,它们的地址分别为LA1和LA2。
假设负载均衡设备LB1和LB2上均配置有虚拟服务VS1和VS2,其中,虚拟服务VS1关联优先设备集群1,如下表1所示,虚拟服务VS2关联有优先设备集群2,如下表2所示。
Figure GDA0003854929060000111
表1
Figure GDA0003854929060000112
Figure GDA0003854929060000121
表2
以负载均衡设备LB1执行本申请所述的路由发布方法为例,针对LB1上已配置的虚拟服务VS1和VS2,本负载均衡设备LB1将检测它们是否关联有优先设备集群。
在确定VS1、VS2分别关联有优先设备集群1、2后,本负载均衡设备LB1将检测优先设备集群1、2中优先级最高,即优先级次序为1的负载均衡设备是否为自身,可以得到优先设备集群1中优先级最高的负载均衡设备为LB1而优先设备集群2中优先级最高的负载均衡设备为LB2,因而本负载均衡设备将发布虚拟服务VS1的路由信息,而不发布虚拟服务VS2的路由信息。
对本地客户端,本负载均衡设备LB1以自身地址LA1和虚拟服务VS1的虚拟地址VA1生成虚拟服务VS1的路由信息并下发。
对路由器等处于客户端与本负载均衡设备间的外网网络设备,本负载均衡设备LB1根据预设的诸如IS-IS的路由协议,计算出客户端与本负载均衡设备间的最优路由路径,以最优路由路径和虚拟服务VS1的虚拟地址VA1生成虚拟服务VS1的路由信息并下发。
同理,虚拟服务VS2的路由信息则由负载均衡设备LB2向客户端侧的网络设备进行下发。
虚拟服务VS1和VS2的路由发布完成后,各客户端向虚拟地址VA1发起的对虚拟服务VS1的访问请求将到达负载均衡设备集群中的负载均衡设备LB1上,由LB1按VS1预设的调度策略转至对应的后台服务器1或2进行处理和响应;各客户端向虚拟地址VA2发起的对虚拟服务VS2的访问请求将到达负载均衡设备集群中的负载均衡设备LB2上,由LB2按VS2预设的调度策略转至对应的后台服务器2、3或4进行处理和响应;负载均衡设备集群中的各负载均衡设备得以正常高效地工作。
此外,负载均衡设备集群中的负载均衡设备LB1和LB2将按预设周期监测自身已配置的虚拟服务所关联的优先设备集群是否发生更改,若某一时刻,LB1监测到虚拟服务VS2所关联的优先设备集群2发生更改,如下表3所示。
Figure GDA0003854929060000131
表3
负载均衡设备LB1在确定更改后的优先设备集群2中优先级最高的负载均衡设备即LB1后,将以自身地址LA1和虚拟服务VS2的虚拟地址VA2生成更新后的虚拟服务VS2的路由信息,重新进行路由发布,后续向虚拟地址VA2发起的对虚拟服务VS2的访问请求将到达负载均衡设备LB1进行调度,从而达到动态路由收敛的技术效果。
与前述路由发布的方法实施例相对应,本申请还提供了路由发布的装置实施例。
本申请所提供的路由发布的装置实施例,可以应用于负载均衡设备集群中的任一负载均衡设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网络设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本申请所提供的路由发布的装置所在网络设备的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的网络设备通常根据其实际功能,还可以包括其他硬件,对此不再赘述。
参见图7,为本申请所提供的一种路由发布的装置框图,该装置包括集群检测单元710、优先级检测单元720和发布单元730:
其中,集群检测单元710,用于针对本负载均衡设备上已配置的任意虚拟服务,检测所述虚拟服务是否关联用于代所述虚拟服务接收访问请求的优先设备集群,所述优先设备集群包括若干优先级不同的负载均衡设备;
优先级检测单元720,用于在所述虚拟服务关联有优先设备集群时,检测本负载均衡设备是否为所述优先设备集群中优先级最高的负载均衡设备;
发布单元730,用于在确定本负载均衡设备为所述优先设备集群中优先级最高的负载均衡设备时,向客户端侧的至少一个网络设备发布所述虚拟服务的路由信息,所述路由信息包括本负载均衡设备地址和所述虚拟服务的虚拟地址;
还用于在确定本负载均衡设备非所述优先设备集群中优先级最高的负载均衡设备时,不进行所述虚拟服务的路由发布。
可选择地,所述发布单元730在向客户端侧的至少一个网络设备发布所述虚拟服务的路由信息时,具体用于:
检测所述虚拟服务是否被授权进行路由发布;
若是,则向客户端侧的至少一个网络设备发布所述虚拟服务的路由信息。
可选择地,所述发布单元730在向客户端侧的至少一个网络设备发布所述虚拟服务的路由信息时,具体用于:
获取所述客户端侧的至少一个网络设备的地址,根据预设的路由协议,计算所述客户端与本负载均衡设备之间的最优路由路径;
基于所述最优路由路径和所述虚拟服务的虚拟地址生成所述虚拟服务的路由信息并向所述网络设备进行发布。
可选择地,所述预设的路由协议包括中间系统-中间系统协议IS-IS、开放最短路径优先协议OSPF或边界网关协议BGP。
进一步地,所述装置还可以包括更新单元740,用于:
当监测到已配置的任意虚拟服务所关联的优先设备集群中各负载均衡设备的优先级发生更改时,判断本负载均衡设备是否为更改后的所述优先设备集群中优先级最高的负载均衡设备;
若是,则重新向客户端侧的至少一个网络设备发布更新后的所述虚拟服务的路由信息。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种路由发布的方法,其特征在于,所述方法应用于负载均衡设备集群中的任一负载均衡设备上,所述方法包括:
针对本负载均衡设备上已配置的任意虚拟服务,检测所述虚拟服务是否关联用于代所述虚拟服务接收访问请求的优先设备集群,所述优先设备集群包括若干优先级不同的负载均衡设备,所述优先设备集群中各负载均衡设备的优先级由预设的管理设备定期检测各负载均衡设备的性能和空闲程度后进行更改;
当所述虚拟服务关联有优先设备集群时,检测本负载均衡设备是否为所述优先设备集群中优先级最高的负载均衡设备;
若是,则向客户端侧的至少一个网络设备发布所述虚拟服务的路由信息,所述路由信息包括本负载均衡设备地址和所述虚拟服务的虚拟地址;
若否,则不进行所述虚拟服务的路由发布。
2.根据权利要求1所述的方法,其特征在于,所述向客户端侧的至少一个网络设备发布所述虚拟服务的路由信息,包括:
检测所述虚拟服务是否被授权进行路由发布;
若是,则向客户端侧的至少一个网络设备发布所述虚拟服务的路由信息。
3.根据权利要求1或2所述的方法,其特征在于,所述向客户端侧的至少一个网络设备发布所述虚拟服务的路由信息,包括:
获取所述客户端侧的至少一个网络设备的地址,根据预设的路由协议,计算所述客户端与本负载均衡设备之间的最优路由路径;
基于所述最优路由路径和所述虚拟服务的虚拟地址生成所述虚拟服务的路由信息并向所述网络设备进行发布。
4.根据权利要求3所述的方法,其特征在于,所述预设的路由协议包括中间系统-中间系统协议IS-IS、开放最短路径优先协议OSPF或边界网关协议BGP。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当监测到本负载均衡设备上已配置的任意虚拟服务所关联的优先设备集群中各负载均衡设备的优先级发生更改时,判断本负载均衡设备是否为更改后的所述优先设备集群中优先级最高的负载均衡设备;
若是,则重新向客户端侧的至少一个网络设备发布更新后的所述虚拟服务的路由信息。
6.一种路由发布的装置,其特征在于,所述装置应用于负载均衡设备集群中的任一负载均衡设备上,所述装置包括集群检测单元、优先级检测单元和发布单元:
所述集群检测单元,用于针对本负载均衡设备上已配置的任意虚拟服务,检测所述虚拟服务是否关联用于代所述虚拟服务接收访问请求的优先设备集群,所述优先设备集群包括若干优先级不同的负载均衡设备,所述优先设备集群中各负载均衡设备的优先级由预设的管理设备定期检测各负载均衡设备的性能和空闲程度后进行更改;
所述优先级检测单元,用于在所述虚拟服务关联有优先设备集群时,检测本负载均衡设备是否为所述优先设备集群中优先级最高的负载均衡设备;
所述发布单元,用于在确定本负载均衡设备为所述优先设备集群中优先级最高的负载均衡设备时,向客户端侧的至少一个网络设备发布所述虚拟服务的路由信息,所述路由信息包括本负载均衡设备地址和所述虚拟服务的虚拟地址;
还用于在确定本负载均衡设备非所述优先设备集群中优先级最高的负载均衡设备时,不进行所述虚拟服务的路由发布。
7.根据权利要求6所述的装置,其特征在于,所述发布单元在向客户端侧的至少一个网络设备发布所述虚拟服务的路由信息时,具体用于:
检测所述虚拟服务是否被授权进行路由发布;
若是,则向客户端侧的至少一个网络设备发布所述虚拟服务的路由信息。
8.根据权利要求6或7所述的装置,其特征在于,所述发布单元在向客户端侧的至少一个网络设备发布所述虚拟服务的路由信息时,具体用于:
获取所述客户端侧的至少一个网络设备的地址,根据预设的路由协议,计算所述客户端与本负载均衡设备之间的最优路由路径;
基于所述最优路由路径和所述虚拟服务的虚拟地址生成所述虚拟服务的路由信息并向所述网络设备进行发布。
9.根据权利要求8所述的装置,其特征在于,所述预设的路由协议包括中间系统-中间系统协议IS-IS、开放最短路径优先协议OSPF或边界网关协议BGP。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括更新单元,用于:
当监测到已配置的任意虚拟服务所关联的优先设备集群中各负载均衡设备的优先级发生更改时,判断本负载均衡设备是否为更改后的所述优先设备集群中优先级最高的负载均衡设备;
若是,则重新向客户端侧的至少一个网络设备发布更新后的所述虚拟服务的路由信息。
CN202110252007.2A 2021-03-08 2021-03-08 一种路由发布的方法及装置 Active CN113098788B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110252007.2A CN113098788B (zh) 2021-03-08 2021-03-08 一种路由发布的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110252007.2A CN113098788B (zh) 2021-03-08 2021-03-08 一种路由发布的方法及装置

Publications (2)

Publication Number Publication Date
CN113098788A CN113098788A (zh) 2021-07-09
CN113098788B true CN113098788B (zh) 2023-03-24

Family

ID=76667025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110252007.2A Active CN113098788B (zh) 2021-03-08 2021-03-08 一种路由发布的方法及装置

Country Status (1)

Country Link
CN (1) CN113098788B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114401319B (zh) * 2022-01-17 2024-05-10 星环信息科技(上海)股份有限公司 一种请求处理方法、装置、服务器及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404621B (zh) * 2008-11-24 2010-12-01 杭州华三通信技术有限公司 实现vrrp负载均衡的方法和路由设备
CN102143046B (zh) * 2010-08-25 2015-03-11 华为技术有限公司 负载均衡的方法、设备和系统
US8949410B2 (en) * 2010-09-10 2015-02-03 Cisco Technology, Inc. Server load balancer scaling for virtual servers
CN103166870B (zh) * 2011-12-13 2017-02-08 百度在线网络技术(北京)有限公司 负载均衡集群系统及采用其提供服务的方法
US8972602B2 (en) * 2012-06-15 2015-03-03 Citrix Systems, Inc. Systems and methods for using ECMP routes for traffic distribution
US10270687B2 (en) * 2015-09-07 2019-04-23 Citrix Systems, Inc. Systems and methods for dynamic routing on a shared IP address
CN106375210A (zh) * 2016-08-31 2017-02-01 迈普通信技术股份有限公司 实现vrrp下行负载均衡的方法和路由设备
CN106161272B (zh) * 2016-08-31 2019-06-18 迈普通信技术股份有限公司 实现vrrp负载均衡的方法和路由设备
CN110753072B (zh) * 2018-07-24 2022-06-03 阿里巴巴集团控股有限公司 负载均衡系统、方法、装置及设备
CN112217843B (zh) * 2019-07-09 2023-08-22 阿里巴巴集团控股有限公司 服务单元切换方法、系统及设备
CN111585800B (zh) * 2020-04-29 2022-06-28 平安科技(深圳)有限公司 基于虚拟私有云的网关节点的配置方法、装置和介质

Also Published As

Publication number Publication date
CN113098788A (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
US11153108B2 (en) Bit indexed explicit replication using multiprotocol label switching
US10050809B2 (en) Adaptive load balancing for single active redundancy using EVPN designated forwarder election
US7895345B2 (en) Distributed routing table architecture and design
JP5889914B2 (ja) ロードバランサーコンポーネント間の状態の同期
US9049127B2 (en) Methods and devices for providing service clustering in a trill network
EP3001614B1 (en) Technologies for bridging between coarse-grained and fine-grained load balancing
EP3399703B1 (en) Method for implementing load balancing, apparatus, and network system
US9608938B2 (en) Method and system for tracking and managing network flows
CN104335537B (zh) 用于层2多播多路径传送的系统和方法
EP2883334B1 (en) Techniques for flooding optimization for link state protocols in a network topology
US20220272032A1 (en) Malleable routing for data packets
KR20160099473A (ko) 모듈식 포워딩 테이블 확장성을 위한 기술
EP2548347A1 (en) Service prioritization in link state controlled layer two networks
WO2016064704A1 (en) Distributed computing based on deep packet inspection by network devices along network path to computing device
US10742545B2 (en) Multicasting system
EP3038296B1 (en) Pool element status information synchronization method, pool register and pool element
US10530873B1 (en) Techniques for optimizing EVPN-IRB for IPv6-enabled data centers with top-of-rack deployments
CN113098788B (zh) 一种路由发布的方法及装置
CN115914078A (zh) 报文转发方法及装置、蜻蜓网络
JP6191703B2 (ja) 通信制御システム、通信制御方法および通信制御プログラム
US8031713B2 (en) General multi-link interface for networking environments
US10205661B1 (en) Control messages for scalable satellite device clustering control in a campus network
JP2013211706A (ja) オープンフローネットワークシステム、及び、データ通信方法
Alvarez-Horcajo et al. Improving multipath routing of TCP flows by network exploration
US20210211381A1 (en) Communication method and related device

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