CN110572453A - 一种同可用区加权负载均衡的方法 - Google Patents
一种同可用区加权负载均衡的方法 Download PDFInfo
- Publication number
- CN110572453A CN110572453A CN201910840158.2A CN201910840158A CN110572453A CN 110572453 A CN110572453 A CN 110572453A CN 201910840158 A CN201910840158 A CN 201910840158A CN 110572453 A CN110572453 A CN 110572453A
- Authority
- CN
- China
- Prior art keywords
- index
- link
- available area
- same
- available
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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
-
- 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/1017—Server selection for load balancing based on a round robin mechanism
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
一种同可用区加权负载均衡的方法,不同可用区中部署了同一服务,对于可用区的消息传输链接,同可用区的链接权重设置高于不同可用区的权重,使得消息传输更高概率在同可用区之内进行。本发明在同可用区可用的情况下,能够尽量取到同可用区的链接信息,减少网络资费消耗,并且不会随着频繁调用暴增机器内存,本发明方法面对不稳定网络情况,也能动态快速修复脏数据。
Description
技术领域
本发明属于云计算技术领域,涉及云服务的可用区负载均衡,为一种同可用区加权负载均衡的方法。
背景技术
云服务中,各地域独立,每个地域包括多个隔离的可用区,可用区的负载均衡技术可以使云计算平台稳定、高效的运行。为了规避同地域的可用区同时出问题导致服务不可用,大型服务部署策略都是把服务放在多个不同地域部署,但不同地域可用区之间发送消息的网络资费比同地域可用区之间发送消息网络资费要大的多,同地域的不同可用区的消息网络资费也比同可用区内的消息传输网络资费高。
当前的负载均衡技术,无论是hash、轮询还是随机,可用区在发送消息时选择到的链接都是相等权重的,这就使得可用区发送消息时,选择同地域可用区以及选择不同地域可用区的机会是均等的,在可用区均正常的情况下,选择到不同地域的可用区会增加网络资费。
发明内容
本发明要解决的问题是:大型服务部署策略把服务放在多个地域部署,而各可用区的链接权重都是相等权重的,容易产生不要的网络资费消耗。
本发明的技术方案为:一种同可用区加权负载均衡的方法,不同可用区中部署了同一服务,对于可用区的消息传输链接,同可用区的链接权重设置高于不同可用区的权重,使得消息传输更高概率在同可用区之内进行。
作为优选方式,在可用区中建立一个链接hash表,所述hash表用于存储可用区的所有链接的权重,可用区根据链接权重选择链接发送消息。
进一步的,hash表中包括:链接信息{{sk,index},vi},链接索引记录{vi,[index]},总连接信息条数{sk,INDEX}、和定时数据检查信息{sessions,[{sk,INDEX}]},sk表示链接,{sk,index}表示权重索引,vi表示链接标号,index=1,2,...,INDEX;链接权重设为多少,就有多少条{sk,index}。
进一步的,当链接vi出问题时,从hash表中删除对应链接的信息{{sk,index},vi},并根据根据删除后的剩余的链接条数重新标记链接的索引index。
本发明通过同可用区链接的加权,实现在同可用区可用的情况下,尽量取到同可用区的链接信息,来传达消息,达到减少网络资费的目的。通过hash表来完成加权,简单易实现,无需对现有云服务***做大改动。
本发明方法下,可用区的消息交互中,每次hash、轮询、随机到的一条链接信息,在同可用区可用的情况下,能够尽量取到同可用区的链接信息,保障其面对大数据高并发调用平均效率在10μs以内,并且由于本发明hash的设置形式为游标方式,将权重转化为条数,每次只要知道轮询index是多少,直接根据那个index就能找到链接记录,而不是把所有记录的权重取出计算或遍历一遍,所以每次都是hash表的查询操作,不会随着频繁调用暴增机器内存,本发明方法面对不稳定网络情况,也能动态快速修复脏数据。
附图说明
图1为本发明实施例的可用区示意图。
图2为本发明实施例的hash表。
图3为本发明实施例信息恢复处理后的hash表。
具体实施方式
本发明提出一种同可用区加权负载均衡的方法,对于可用区的消息传输链接,同可用区的链接权重设置高于不同可用区的权重,使得消息传输更高概率在同可用区之内进行。优选在可用区中建立一个链接hash表,所述hash表用于存储可用区的所有链接的权重,可用区根据链接权重选择链接发送消息。
下面通过具体实施例来说明本发明的实施。
如图1所示,ABCDE为消息转发服务中心,A和B属于同一可用区,A与C、D、E为非同一可用区,其中B、C、D、E都与A链接,且提供的服务相同,BCDE组成服务S的集群,在A与服务S进行信息传递时,在BCDE的服务都正常的情况下,我们希望尽可能的让A于B之间多交互,从而减少信息资费。在本发明方案下,在A服务中建立hash表,缓存与B、C、D、E的链接信息,并将A与B直接链接权重设置为3,存储数据如图2所示。
图2的hash表在创建的时候,确定AB之间的链接v1的权重为3,对应在hash表里增加了v1的三条信息,以{sk,index}来确定信息的唯一性,产生[{{sk,1},v1},{{sk,2},v1},{{sk,3},v1}]这三条数据,C、D、E分别一条数据,即{{sk,4},v2},{{sk,4},v3},{{sk,6},v4},总链接信息条数为3+1+1+1=6条,记录为{sk,6},每条链接对应的索引记录为{v1,[1,2,3]},{v2,[4]},{v3,[5]},{v4,[6]},方便后续链接断链时,对信息进行恢复。最后加上定时数据检查信息{sessions,[{sk,6}]},6条记录+4条链接+1条session记录+sessions里列表长度1=hash表数据长度12。
下面说明本发明实施例在负载均衡中,hash、轮询以及随机方式下的具体实施。
hash方式:通过INDEX知道有6条记录,以当前机器或者设备为哈希key,对6取值,依然能取到0到5的hash值,erlang中方法是Index=erlang:phash2(HashKey,Counter)+1,取到对应的{sk,Index},即有3次机会能取到AB的链接v1。
轮询方式,记录每次轮询的数值X,每次加1,X对6取模,取到的值为0~5,对其加一处理就是1~6,那么1~3,{sk,index},就有3次机会能取到AB的链接v1。
随机方式:通过INDEX知道有6条记录,每次随机用当前时间戳为随机种子,随机1到6,因为AB有3条记录,所以根据{sk,Index},即也有3次机会能取到AB的链接v1。
通过上述可见,本发明能在同可用区可用的情况下,尽量取到同可用区的链接信息来传达消息,从而减少网络资费。
另外,当网络不稳定,本发明也能信息需要恢复的情况。例如v1这条链接出了问题,则从hash表里快速移除掉v1信息,实施例的hash表取到v1的索引有[1,2,3],这时候为了不影响后续轮询到索引1~3,需要把4~6的索引移动到1~3,因为有索引,本发明能快速替换掉1~3,而不需要遍历移动,恢复后的表数据如图3所示,遵循{sessions,[{sk,3}]},得到3条记录+3条链接+1条session记录+sessions里列表长度1=hash表数据长度8。
Claims (4)
1.一种同可用区加权负载均衡的方法,其特征是不同可用区中部署了同一服务,对于可用区的消息传输链接,同可用区的链接权重设置高于不同可用区的权重,使得消息传输更高概率在同可用区之内进行。
2.根据权利要求1所述的一种同可用区加权负载均衡的方法,其特征是在可用区中建立一个链接hash表,所述hash表用于存储可用区的所有链接的权重,可用区根据链接权重选择链接发送消息。
3.根据权利要求2所述的一种同可用区加权负载均衡的方法,其特征是hash表中包括:链接信息{{sk,index},vi},链接索引记录{vi,[index]},总连接信息条数{sk,INDEX}、和定时数据检查信息{sessions,[{sk,INDEX}]},sk表示链接,{sk,index}表示权重索引,vi表示链接标号,index=1,2,...,INDEX;链接权重设为多少,就有多少条{sk,index}。
4.根据权利要求3所述的一种同可用区加权负载均衡的方法,其特征是当链接vi出问题时,从hash表中删除对应链接的信息{{sk,index},vi},并根据根据删除后的剩余的链接条数重新标记链接的索引index,以及hash表中的与index相关的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910840158.2A CN110572453A (zh) | 2019-09-06 | 2019-09-06 | 一种同可用区加权负载均衡的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910840158.2A CN110572453A (zh) | 2019-09-06 | 2019-09-06 | 一种同可用区加权负载均衡的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110572453A true CN110572453A (zh) | 2019-12-13 |
Family
ID=68778110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910840158.2A Pending CN110572453A (zh) | 2019-09-06 | 2019-09-06 | 一种同可用区加权负载均衡的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110572453A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130166709A1 (en) * | 2011-12-22 | 2013-06-27 | Andrew J. Doane | Interfaces To Manage Inter-Region Connectivity For Direct Network Peerings |
CN106469091A (zh) * | 2016-09-05 | 2017-03-01 | 北京百度网讯科技有限公司 | 用于分配可用区的方法和装置 |
CN106936926A (zh) * | 2017-04-18 | 2017-07-07 | 广州华多网络科技有限公司 | 访问数据节点的方法及*** |
CN107590623A (zh) * | 2016-07-07 | 2018-01-16 | 袁宏斌 | 一种考虑地域物流服务能力的云制造服务组合优选方法 |
CN107689925A (zh) * | 2017-09-28 | 2018-02-13 | 平安科技(深圳)有限公司 | 基于云监控的负载均衡优化方法及装置 |
CN108494868A (zh) * | 2018-03-30 | 2018-09-04 | 三盟科技股份有限公司 | 一种基于云业务***下的负载均衡方法及*** |
-
2019
- 2019-09-06 CN CN201910840158.2A patent/CN110572453A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130166709A1 (en) * | 2011-12-22 | 2013-06-27 | Andrew J. Doane | Interfaces To Manage Inter-Region Connectivity For Direct Network Peerings |
CN107590623A (zh) * | 2016-07-07 | 2018-01-16 | 袁宏斌 | 一种考虑地域物流服务能力的云制造服务组合优选方法 |
CN106469091A (zh) * | 2016-09-05 | 2017-03-01 | 北京百度网讯科技有限公司 | 用于分配可用区的方法和装置 |
CN106936926A (zh) * | 2017-04-18 | 2017-07-07 | 广州华多网络科技有限公司 | 访问数据节点的方法及*** |
CN107689925A (zh) * | 2017-09-28 | 2018-02-13 | 平安科技(深圳)有限公司 | 基于云监控的负载均衡优化方法及装置 |
CN108494868A (zh) * | 2018-03-30 | 2018-09-04 | 三盟科技股份有限公司 | 一种基于云业务***下的负载均衡方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108282342A (zh) | 计费管理方法、用户面功能实体以及控制面功能实体 | |
CN101692652B (zh) | 一种防止聚合链路中流量中断的方法及装置 | |
CN102098224B (zh) | 数据流负荷分担方法及装置 | |
CN109213792A (zh) | 数据处理的方法、服务端、客户端、装置及可读存储介质 | |
CN101237331B (zh) | 话单文件的生成方法、传输方法、***和装置 | |
CN102143046A (zh) | 负载均衡的方法、设备和*** | |
CN106533845A (zh) | 一种长连接状态监控方法和装置 | |
CN104604189A (zh) | 大型企业的高效状态发布机制 | |
CN101729425B (zh) | Vrrp组网中流量发送的方法及设备 | |
CN103067453A (zh) | 一种通讯录共享方法及*** | |
CN101753455B (zh) | 转发方法及装置 | |
TW201737107A (zh) | 資料的同步方法和裝置 | |
CN107229425A (zh) | 一种数据存储方法及装置 | |
JP2023532560A (ja) | トラフィック課金方法、ネットワーク機器及び記憶媒体 | |
CN102208988B (zh) | 消息处理方法、***及设备 | |
CN101068382B (zh) | 一种短消息中心容灾分流的处理***和方法 | |
CN109525633B (zh) | 区块链网络、基于区块链网络的消息发送、消息接收方法 | |
CN110572453A (zh) | 一种同可用区加权负载均衡的方法 | |
CN102984739A (zh) | 故障信息处理方法及装置 | |
CN102647424B (zh) | 一种数据传输方法及其装置 | |
CN101695049A (zh) | 一种监控***中的业务处理方法及装置 | |
CN113329048B (zh) | 基于交换机的云负载均衡方法、装置及存储介质 | |
CN101378540B (zh) | 号码可携带业务实现方法、***及号码可携带数据库 | |
CN101485148B (zh) | 用于使用多个接入***连接到(多个)远程通信网络的用户网络和方法 | |
CN102904803A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191213 |
|
RJ01 | Rejection of invention patent application after publication |