System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及負載均衡,具體涉及一種基于往返時延總值的負載均衡方法及裝置。
技術介紹
1、在全球化的信息時代,多數據中心架構已經成為大型企業和服務提供商的基礎設施常態,以確保數據的冗余和高可用性。在多數據中心的復雜網絡環境中,全局服務器負載均衡(gslb)技術扮演著至關重要的角色,它利用dns解析、健康檢查以及智能路由等技術,通過精細的策略和算法,確保網絡服務高效穩定運行。
2、gslb智能調度支持基于往返時延(rtt)的負載均衡算法,rtt負載均衡算法業內通用處理方案如下:
3、步驟1:gslb解析設備接收到本地域名服務器(ldns)發送的dns請求報文,基于區記錄配置的負載均衡算法(例如輪詢或者加權輪詢)選擇一個最優的全局地址池;
4、步驟2:gslb設備遍歷該全局地址池的每個池成員,判斷這些池成員所在的數據中是否已經生成了反向探測的往返時延信息,如果已經存在,則選擇反向探測往返時延最小的數據中心服務成員;
5、步驟3:如果該全局地址池內所有池成員都尚未生成反向探測的往返時延信息,則使用輪詢算法選擇一個可用的池成員返回。然后,為每一個池成員選擇其所在數據中心內的gslb設備,向這些gslb設備節點發送同步報文,觸發這些gslb設備向ldns發起反向探測;
6、步驟4:其他數據中心的設備節點接收到同步報文,判斷是反向探測指令,則向ldns服務器發送反向探測報文,例如:根據rtt算法的配置,gslb設備向ldns發送icmp的echo?request消息,ldns回復ech
7、步驟5:數據中心內gslb設備節點記錄發送反向探測報文的時間點,并在接收到響應報文時計算反向探測往返時延,然后將反向探測往返時延同步給集群內的其他設備節點;如果探測超時,則將該數據中心和ldns之間的反向探測往返時延設置為0;
8、步驟6:集群內每個設備節點都保存了各數據中心的gslb設備與同一個ldns服務器之間的反向探測往返時延;
9、步驟7:后續各數據中心內的gslb設備對ldns服務器周期性進行反向探測,更新反向探測往返時延后,在集群內進行廣播同步,保證集群內所有gslb設備節點的反向探測往返時延信息一致性;
10、步驟8:后續該全局地址池再次執行rtt負載均衡算法時,選擇當前rtt時間非0最小的數據中心內服務成員。
11、請參閱圖1,www.abc.com域名配置gpool1和gpool2這兩個全局地址池,其中:gpool1配置三個數據中心的服務成員:10.10.10.10:8080、20.20.20.20:8080、30.30.30.30:8080,負載均衡算法為rtt算法。gslb-北京設備節點接收到北京移動ldns對www.abc.com這個域名的dns解析請求,首先基于區記錄配置的負載均衡算法選擇gpool1,然后判斷gpool1內有三個數據中心的服務成員,發送同步消息觸發gslb-上海、gslb-深圳這兩個設備對北京移動ldns進行反向探測。得到反向探測結果后,集群內同步后的探測結果為:gslb-北京與北京移動ldns之間rtt為5.216毫秒,gslb-上海和北京移動ldns之間rtt為28.521毫秒,gslb-深圳和北京移動ldns之間rtt為39.615毫秒。再次對該全局地址池執行rtt算法時,dns解析返回北京數據中心內10.10.10.10服務成員地址。
12、但是,現有的rtt算法僅以gslb設備和ldns服務器之間反向探測的往返時延作為唯一依據,未考慮到數據中心服務成員的負荷情況。所以,即使10.10.10.10這個服務器負載很高,響應業務速度很慢,但是由于gslb-北京和該ldns之間的rtt始終最小,ttl過期后北京移動ldns再次發起對www.abc.com域名的dns解析請求,得到的解析結果仍然是10.10.10.10這個服務成員。最終導致10.10.10.10服務成員超載運行,無法正常響應用戶業務請求,影響用戶業務體驗。
技術實現思路
1、為此,本申請提供一種基于往返時延總值的負載均衡方法及裝置,以解決現有技術存在的負載均衡算法不能很好的均衡數據中心內服務成員的負載問題。
2、為了實現上述目的,本申請提供如下技術方案:
3、第一方面,一種基于往返時延總值的負載均衡方法,所述基于往返時延總值的負載均衡方法應用于全局服務器負載均衡設備,包括:
4、步驟1:獲取與數據中心內服務成員之間的正向探測往返時延;
5、步驟2:獲取與本地域名服務器之間的反向探測往返時延;
6、步驟3:根據所述正向探測往返時延和所述反向探測往返時延計算本地域名服務器與數據中心內每個服務成員之間的往返時延總值;
7、步驟4:將數據中心內所有服務成員的往返時延總值在集群內進行同步;
8、步驟5:基于往返時延調度算法選擇往返時延總值最小的數據中心內服務成員。
9、作為優選,步驟1中,所述正向探測往返時延是全局服務器負載均衡設備通過健康檢查獲取的。
10、作為優選,步驟2中,所述反向探測往返時延是全局服務器負載均衡設備通過icmp協議發送ping請求至本地域名服務器,并記錄請求發送和接收的時間后計算得到的。
11、作為優選,步驟4中,將數據中心內所有服務成員的往返時延總值在集群內進行同步時采用廣播同步的方法。
12、第二方面,一種基于往返時延總值的負載均衡裝置,包括:
13、正向探測往返時延獲取模塊,用于獲取與數據中心內服務成員之間的正向探測往返時延;
14、反向探測往返時延獲取模塊,用于獲取與本地域名服務器之間的反向探測往返時延;
15、往返時延總值計算模塊,用于根據所述正向探測往返時延和所述反向探測往返時延計算本地域名服務器與數據中心內每個服務成員之間的往返時延總值;
16、往返時延總值同步模塊,用于將數據中心內所有服務成員的往返時延總值在集群內進行同步;
17、調度選擇模塊,用于基于往返時延調度算法選擇往返時延總值最小的數據中心內服務成員。
18、作為優選,所述正向探測往返時延是全局服務器負載均衡設備通過健康檢查獲取的。
19、作為優選,所述反向探測往返時延是全局服務器負載均衡設備通過icmp協議發送ping請求至本地域名服務器,并記錄請求發送和接收的時間后計算得到的。
20、作為優選,所述往返時延總值同步模塊將數據中心內所有服務成員的往返時延總值在集群內進行同步時采用廣播同步的方法。
21、第三方面,一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現一種基于往返時延總值的負載均衡方法方法的步驟。
22、第四方面,一種計算機程序產品,包括計算機程序或指令,該計算機程序或指令被處理器執行時實現一種基于往本文檔來自技高網...
【技術保護點】
1.一種基于往返時延總值的負載均衡方法,其特征在于,所述基于往返時延總值的負載均衡方法應用于全局服務器負載均衡設備,包括:
2.根據權利要求1所述的基于往返時延總值的負載均衡方法,其特征在于,步驟1中,所述正向探測往返時延是全局服務器負載均衡設備通過健康檢查獲取的。
3.根據權利要求1所述的基于往返時延總值的負載均衡方法,其特征在于,步驟2中,所述反向探測往返時延是全局服務器負載均衡設備通過ICMP協議發送Ping請求至本地域名服務器,并記錄請求發送和接收的時間后計算得到的。
4.根據權利要求1所述的基于往返時延總值的負載均衡方法,其特征在于,步驟4中,將數據中心內所有服務成員的往返時延總值在集群內進行同步時采用廣播同步的方法。
5.一種基于往返時延總值的負載均衡裝置,其特征在于,包括:
6.根據權利要求5所述的基于往返時延總值的負載均衡裝置,其特征在于,所述正向探測往返時延是全局服務器負載均衡設備通過健康檢查獲取的。
7.根據權利要求5所述的基于往返時延總值的負載均衡裝置,其特征在于,所述反向探測往返時延是
8.根據權利要求5所述的基于往返時延總值的負載均衡裝置,其特征在于,所述往返時延總值同步模塊將數據中心內所有服務成員的往返時延總值在集群內進行同步時采用廣播同步的方法。
9.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至4中任一項所述的方法的步驟。
10.一種計算機程序產品,包括計算機程序或指令,其特征在于,該計算機程序或指令被處理器執行時實現權利要求1至4中任一項所述的方法的步驟。
...【技術特征摘要】
1.一種基于往返時延總值的負載均衡方法,其特征在于,所述基于往返時延總值的負載均衡方法應用于全局服務器負載均衡設備,包括:
2.根據權利要求1所述的基于往返時延總值的負載均衡方法,其特征在于,步驟1中,所述正向探測往返時延是全局服務器負載均衡設備通過健康檢查獲取的。
3.根據權利要求1所述的基于往返時延總值的負載均衡方法,其特征在于,步驟2中,所述反向探測往返時延是全局服務器負載均衡設備通過icmp協議發送ping請求至本地域名服務器,并記錄請求發送和接收的時間后計算得到的。
4.根據權利要求1所述的基于往返時延總值的負載均衡方法,其特征在于,步驟4中,將數據中心內所有服務成員的往返時延總值在集群內進行同步時采用廣播同步的方法。
5.一種基于往返時延總值的負載均衡裝置,其特征在于,包括:
6.根據權利要求5所述的基于往返時延...
【專利技術屬性】
技術研發人員:胡培成,張紹峰,韓冬,邢志杰,毛偉,
申請(專利權)人:互聯網域名系統北京市工程研究中心有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。