System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及探測結果同步,具體涉及一種自定義探測組探測結果同步方法及裝置。
技術介紹
1、隨著互聯網技術的持續快速發展,用戶對服務的可用性、響應速度和數據安全性提出了更高的要求,而單一數據中心的服務模式難以滿足這些需求。因此,多數據中心部署成為一種趨勢,多數據中心是通過在不同地理位置建設多個數據中心,其能夠顯著提升服務的可用性、響應速度和用戶體驗,同時增強業務的連續性和安全性。
2、在多數據中心架構下,全局服務器負載均衡(gslb)技術顯得尤為重要,它利用dns解析、健康檢查以及智能路由等技術,實現對用戶請求的智能調度和流量優化,將請求路由到最近或最合適的服務資源,從而實現優化響應速度和服務質量的目標。
3、gslb核心功能之一就是健康檢查,它可以對位于不同地理位置、不同數據中心的服務資源進行實時健康監測,監控和評估服務資源的可用性和性能,快速識別節點故障或性能下降等風險。通過智能負載均衡算法,gslb可以將流量自動重定向到健康的資源節點,從而避免單點故障導致的服務中斷,提高系統的整體可用性和容錯能力。
4、在多數據中心場景下,每個數據中心通常會有多條運營商網絡線路,為了確保即使在一個數據中心或一個運營商線路出現故障或性能下降時,仍然能夠提供準確的探測可用性,通常配置自定義探測組功能。以圖1為例,自定義探測組1選擇兩地三數據中心內不同出口線路的探測節點組成一個探測節點池,節點之間會建立點對點連接,三個節點通過權重選舉算法協商出聯通探測節點1為leader節點,每個探測周期leader節點會基于算
5、由于自身程序異常、出口網絡或者傳輸鏈路原因,不同探測節點對同一個目標服務資源的探測結果可能會不一樣。為了更加精準的判斷目標服務資源是否可用,leader節點會判斷失敗延時響應時間內所有探測節點的探測結果是否連續都為失?。喝绻?,則認為目標服務資源當前狀態為不可用;否則,只要自定義探測組內任意一個探測節點的探測結果為成功,則判定該服務資源為可用。leader節點會向集群內所有節點同步該探測結果,保證所有gslb設備上的探測結果一致性。
6、如果自定義探測組內某一個探測節點由于網絡防火墻或者傳輸鏈路原因,導致和網管節點、自定義探測組內leader節點斷開連接,會出現如圖2所示的問題,具體如下:
7、1、修改配置將電信探測節點2從自定義探測組1內移除,由于電信探測節點2和網管節點斷開連接,接收不到最新的配置;集群內其他節點都能正常接收到自定義探測組配置修改消息,分別更新本地自定義探測組1配置;
8、2、電信探測節點2和聯通探測節點1斷開連接,基于權重選舉算法,該節點會選擇本節點作為新的leader節點;
9、3、自定義探測組1內存在兩個leader節點,由于網絡連接斷開,這兩個leader節點之間沒有任何交互。聯通探測節點1輪流選擇聯通探測節點1和移動探測節點1執行探測,電信探測節點2選擇本節點執行探測;
10、4、如果聯通探測節點1或移動探測節點1對服務資源的探測結果為正常,則聯通探測節點1判定目標服務資源狀態為可用;
11、5、如果電信探測節點2對服務資源的探測結果為失敗,則電信探測節點2判定該服務資源為不可用;
12、6、聯通探測節點1和電信探測節點2這兩個leader節點會將各自判定的探測結果向集群內其他設備節點進行同步。假設移動探測節點2先接收到聯通探測節點1同步的服務資源探測結果為可用,再接收到電信探測節點2同步的服務資源探測結果為不可用,最終生效的探測結果為不可用,導致該服務資源無法被正常解析。
13、綜上可知,現有技術具有以下缺陷:
14、1、出現多個leader節點后,探測結果會交替覆蓋:同一個自定義探測組出現多個leader節點后,每個leader節點都判定探測結果,會出現部分leader節點探測結果為down,部分leader節點探測結果為up。集群內其他設備節點接收到leader節點發送的服務資源探測結果同步報文后,以接收到的最新同步結果為準,最終導致錯誤探測結果和正常探測結果交替覆蓋的問題,具體見圖3。
15、2、未判定同步源節點是否屬于自定義探測組:自定義探測組內部分節點和網管節點斷連后,接收不到同步組配置修改消息,該節點可能已經從同步組內刪除,但是仍然會給集群內其他設備節點發送探測結果同步報文,并導致這些節點維護的探測結果與實際情況不符。
技術實現思路
1、為此,本申請提供了一種自定義探測組探測結果同步方法及裝置,以解決現有技術在出現多個leader節點后會交替覆蓋探測結果以及探測結果不準確的問題。
2、為了實現上述目的,本申請提供如下技術方案:
3、第一方面,一種自定義探測組探測結果同步方法,所述方法應用于集群內的設備節點,包括:
4、接收集群內其它設備節點發送的探測結果同步消息;所述探測結果同步消息包含服務資源id和探測結果;
5、根據所述服務資源id和本地節點業務配置,得到為所述服務資源執行探測的自定義探測組id;
6、根據所述自定義探測組id對同步源節點進行有效性校驗,得到校驗結果;
7、根據所述校驗結果對自定義探測組內不同leader節點的探測結果進行聚合。
8、可選地,根據所述自定義探測組id對同步源節點進行有效性校驗,得到校驗結果,具體為:
9、判斷同步源節點是否為所述自定義探測組id內的成員節點;
10、若同步源節點不是所述自定義探測組id內的成員節點,則丟棄探測結果;
11、若同步源節點是所述自定義探測組id內的成員節點,則對自定義探測組內不同leader節點的探測結果進行聚合。
12、可選地,所述對自定義探測組內不同leader節點的探測結果進行聚合,具體包括:
13、判斷探測結果是否為up;
14、若探測結果為up,則更新本地保存的服務資源探測結果為可用,并判斷服務資源是否啟動探測失敗定時器,若啟動,則關閉探測失敗定時器;
15、若探測結果為down,則判斷服務資源是否啟動探測失敗定時器,若啟動,則處理結束;若未啟動,則為服務資源啟動探測失敗定時器,若探測失敗定時器超時,則將服務資源的探測結果設置為不可用。
16、可選地,所述探測失敗定時器的超時時長為探測模板失敗延時響應時間。
17、第二方面,一種自定義探測組探測結果同步裝置,包括:
18、數據接收模塊,用于接收集群內其它設備節點發送的探測結果同步消息;所述探測結果同步消息包含服務資源id和探測結果;
19、自定義探測組id確定模塊,用于根據所述服務資源id和本地節點業務配置,得到為所述服務資源執行探測的自定義探測組id;
20、校驗模塊,用于根據所述自定義探測組id對同步源節點進行有效本文檔來自技高網...
【技術保護點】
1.一種自定義探測組探測結果同步方法,其特征在于,所述方法應用于集群內的設備節點,包括:
2.根據權利要求1所述的自定義探測組探測結果同步方法,其特征在于,根據所述自定義探測組id對同步源節點進行有效性校驗,得到校驗結果,具體為:
3.根據權利要求2所述的自定義探測組探測結果同步方法,其特征在于,所述對自定義探測組內不同Leader節點的探測結果進行聚合,具體包括:
4.根據權利要求3所述的自定義探測組探測結果同步方法,其特征在于,所述探測失敗定時器的超時時長為探測模板失敗延時響應時間。
5.一種自定義探測組探測結果同步裝置,其特征在于,包括:
6.根據權利要求5所述的自定義探測組探測結果同步裝置,其特征在于,所述校驗模塊具體用于:
7.根據權利要求5所述的自定義探測組探測結果同步裝置,其特征在于,所述聚合模塊具體用于:
8.根據權利要求7所述的自定義探測組探測結果同步裝置,其特征在于,所述探測失敗定時器的超時時長為探測模板失敗延時響應時間。
9.一種計算機可讀存儲介質,其上存儲有計算
10.一種計算機程序產品,包括計算機程序或指令,其特征在于,該計算機程序或指令被處理器執行時實現權利要求1至4中任一項所述的方法的步驟。
...【技術特征摘要】
1.一種自定義探測組探測結果同步方法,其特征在于,所述方法應用于集群內的設備節點,包括:
2.根據權利要求1所述的自定義探測組探測結果同步方法,其特征在于,根據所述自定義探測組id對同步源節點進行有效性校驗,得到校驗結果,具體為:
3.根據權利要求2所述的自定義探測組探測結果同步方法,其特征在于,所述對自定義探測組內不同leader節點的探測結果進行聚合,具體包括:
4.根據權利要求3所述的自定義探測組探測結果同步方法,其特征在于,所述探測失敗定時器的超時時長為探測模板失敗延時響應時間。
5.一種自定義探測組探測結果同步裝置,其特征在于,包括:
6.根...
【專利技術屬性】
技術研發人員:胡培成,張紹峰,韓冬,邢志杰,毛偉,
申請(專利權)人:互聯網域名系統北京市工程研究中心有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。