本申請涉及計算機,具體涉及一種負載均衡方法、裝置、電子設備及存儲介質。
背景技術:
1、域名系統(domain?name?system,dns)是因特網的一項服務,它作為域名和互聯網協議(internet?protocol,ip)地址相互映射的一個分布式數據庫,能夠使人更方便的訪問互聯網。人們在通過瀏覽器訪問網站時只需要記住網站的域名即可,而不需要記住ip地址。在dns系統中有一個比較重要的的資源類型叫做主機記錄,也稱為a記錄,a記錄是用于名稱解析的重要記錄,它將特定的主機名映射到對應主機的ip地址上。如果有一個域名,那么要想訪問到該域名對應的網站,需要到特定的dns解析服務商的服務器上填寫a記錄,過一段時間后,就能通過域名訪問網站了。
2、dns除了能解析域名之外還具有負載均衡的功能,常用的是權重輪循均衡算法,其原理是根據每臺服務器節點的性能和負載情況給每臺服務器分配一個權重值,然后按照權重值進行輪詢,使得負載均衡系統將請求均勻地分配到各個服務器節點上,從而達到負責均衡的目的。
3、當前的dns負載均衡采用權重輪循均衡算法,存在兩個問題,一個是dns負載均衡不能知道某臺服務器節點是否下線,也不能感知業務上服務是否可用。第二個是不能區分服務器節點之間的差異,不能反映服務器節點的當前運行狀態,因此不能夠按服務器節點的處理能力來分配負載。基于此,導致當前負載均衡的效率低下。
技術實現思路
1、本申請實施例提供一種負載均衡方法、裝置、電子設備及存儲介質,用以解決當前負載均衡的效率低下的問題。
2、第一方面,本申請實施例提供一種負載均衡方法,包括:
3、接收客戶端針對至少兩個服務器節點發起的連接請求,將連接請求分別轉發至相應服務器節點;
4、接收各服務器節點基于連接請求返回的響應狀態信息與域名系統解析數據;所述域名系統解析數據包括針對連接請求的狀態響應時間和域名解析次數;
5、確定各服務器節點的初始權重;
6、根據各響應狀態信息,或根據各響應狀態信息與各域名系統解析數據,調整各服務器節點的初始權重,得到各服務器節點的目標權重;
7、根據各服務器節點的目標權重進行負載均衡。
8、在一個實施例中,在根據各響應狀態信息,或根據各響應狀態信息與各域名系統解析數據,調整各服務器節點的初始權重時,針對每一服務器節點分別執行以下步驟:
9、若當前服務器節點的響應狀態信息為運行狀態不可用,則將當前服務器節點的初始權重調整至預設權重;
10、若當前服務器節點的響應狀態信息為運行狀態正常,則根據當前服務器節點針對連接請求的狀態響應時間和域名解析次數,調整當前服務器節點的初始權重。
11、在一個實施例中,所述根據當前服務器節點針對連接請求的狀態響應時間和域名解析次數,調整當前服務器節點的初始權重,包括:
12、根據當前服務器節點針對連接請求的狀態響應時間,確定第一權重調整參數;
13、根據當前服務器節點針對連接請求的域名解析次數,確定第二權重調整參數;
14、基于所述第一權重調整參數、所述第二權重調整參數與預設系數,調整當前服務器節點的初始權重。
15、在一個實施例中,所述基于所述第一權重調整參數、所述第二權重調整參數與預設系數,調整當前服務器節點的初始權重,包括:
16、將所述第一權重調整參數與所述第二權重調整參數進行乘積運算,得到第一中間參數;
17、基于所述第一中間參數與預設系數,調整當前服務器節點的初始權重。
18、在一個實施例中,所述基于所述第一中間參數與預設系數,調整當前服務器節點的初始權重,包括:
19、將所述第一中間參數與預設系數進行乘積運算,得到第二中間參數;
20、將所述第二中間參數與當前服務器節點的初始權重進行乘積運算,根據乘積運算結果替換當前服務器節點的初始權重。
21、在一個實施例中,在根據各響應狀態信息,或根據各響應狀態信息與各域名系統解析數據,調整各服務器節點的初始權重,得到各服務器節點的目標權重后,還包括:
22、確定各服務器節點的目標權重的最大公約數;
23、基于所述最大公約數,分別對各服務器節點的目標權重進行更新;
24、根據各服務器節點更新后的目標權重進行負載均衡。
25、在一個實施例中,在確定各服務器節點的初始權重時,針對每一服務器節點,分別執行以下步驟:
26、獲取當前服務器節點的節點信息;
27、根據當前服務器節點的節點信息確定當前服務器節點的初始權重。
28、第二方面,本申請實施例提供一種負載均衡裝置,包括:
29、轉發模塊,用于接收客戶端針對至少兩個服務器節點發起的連接請求,將連接請求分別轉發至相應服務器節點;
30、接收模塊,用于接收各服務器節點基于連接請求返回的響應狀態信息與域名系統解析數據;所述域名系統解析數據包括針對連接請求的狀態響應時間和域名解析次數;
31、確定模塊,用于確定各服務器節點的初始權重;
32、調整模塊,用于根據各響應狀態信息,或根據各響應狀態信息與各域名系統解析數據,調整各服務器節點的初始權重,得到各服務器節點的目標權重;
33、負載均衡模塊,用于根據各服務器節點的目標權重進行負載均衡。
34、第三方面,本申請實施例提供一種電子設備,包括處理器和存儲有計算機程序的存儲器,所述處理器執行所述程序時實現第一方面所述的負載均衡方法。
35、第四方面,本申請實施例提供一種存儲介質,所述存儲介質為計算機可讀存儲介質,包括計算機程序,所述計算機程序被處理器執行時實現第一方面所述的負載均衡方法。
36、本申請實施例提供的負載均衡方法、裝置、電子設備及存儲介質,通過服務器節點基于連接請求返回的響應狀態信息與針對連接請求的狀態響應時間和域名解析次數等域名系統解析數據,由此可以根據響應狀態信息,或根據響應狀態信息與域名系統解析數據,調整各服務器節點的初始權重,進而可以根據調整后各服務器節點的目標權重進行負載均衡。通過服務器節點響應連接請求的狀態響應時間和域名解析次數等域名系統解析數據進行服務器節點的權重調整,可以確保每次根據服務器節點的權重進行負載均衡的效果都是最優效果,避免負載均衡出現過度傾斜,由此提高負載均衡的效率。
1.一種負載均衡方法,其特征在于,包括:
2.根據權利要求1所述的負載均衡方法,其特征在于,在根據各響應狀態信息,或根據各響應狀態信息與各域名系統解析數據,調整各服務器節點的初始權重時,針對每一服務器節點分別執行以下步驟:
3.根據權利要求2所述的負載均衡方法,其特征在于,所述根據當前服務器節點針對連接請求的狀態響應時間和域名解析次數,調整當前服務器節點的初始權重,包括:
4.根據權利要求3所述的負載均衡方法,其特征在于,所述基于所述第一權重調整參數、所述第二權重調整參數與預設系數,調整當前服務器節點的初始權重,包括:
5.根據權利要求4所述的負載均衡方法,其特征在于,所述基于所述第一中間參數與預設系數,調整當前服務器節點的初始權重,包括:
6.根據權利要求1所述的負載均衡方法,其特征在于,在根據各響應狀態信息,或根據各響應狀態信息與各域名系統解析數據,調整各服務器節點的初始權重,得到各服務器節點的目標權重后,還包括:
7.根據權利要求1-6任一項所述的負載均衡方法,其特征在于,在確定各服務器節點的初始權重時,針對每一服務器節點,分別執行以下步驟:
8.一種負載均衡裝置,其特征在于,包括:
9.一種電子設備,包括處理器和存儲有計算機程序的存儲器,其特征在于,所述處理器執行所述計算機程序時實現權利要求1至7任一項所述的負載均衡方法。
10.一種存儲介質,所述存儲介質為計算機可讀存儲介質,包括計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至7任一項所述的負載均衡方法。