本申請涉及計(jì)算機(jī)數(shù)據(jù)處理領(lǐng)域,具體涉及一種采用sso單點(diǎn)認(rèn)證系統(tǒng)檢測服務(wù)節(jié)點(diǎn)健康度的負(fù)載均衡方法和裝置。
背景技術(shù):
采用sso單點(diǎn)認(rèn)證應(yīng)用系統(tǒng)結(jié)構(gòu)如圖6所示;
用戶訪問應(yīng)用系統(tǒng)時(shí)用戶瀏覽器、應(yīng)用系統(tǒng)、sso認(rèn)證授權(quán)中心的業(yè)務(wù)訪問流程如圖7所示;
在訪問業(yè)務(wù)系統(tǒng)時(shí),需要在業(yè)務(wù)系統(tǒng)和sso認(rèn)證授權(quán)中心之間變換,當(dāng)前的負(fù)載均衡基于服務(wù)頁面內(nèi)容檢查驗(yàn)證的功能不能使用,采用端口連接檢查的方法又不能有效判斷服務(wù)節(jié)點(diǎn)服務(wù)狀態(tài)。需要新的方法來支持采用sso單點(diǎn)認(rèn)證系統(tǒng)進(jìn)行基于業(yè)務(wù)服務(wù)驗(yàn)證的服務(wù)節(jié)點(diǎn)健康度檢查。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本申請?zhí)峁┮环N采用sso單點(diǎn)認(rèn)證系統(tǒng)檢測服務(wù)節(jié)點(diǎn)健康度的負(fù)載均衡方法和裝置,實(shí)現(xiàn)sso單點(diǎn)認(rèn)證系統(tǒng)環(huán)境下服務(wù)節(jié)點(diǎn)健康度檢查,服務(wù)節(jié)點(diǎn)故障停用和故障消除后的恢復(fù),提高系統(tǒng)的可用性。
為了實(shí)現(xiàn)上述目的,現(xiàn)提出方案如下:
一種采用sso單點(diǎn)認(rèn)證系統(tǒng)檢測服務(wù)節(jié)點(diǎn)健康度的負(fù)載均衡方法,由服務(wù)節(jié)點(diǎn)健康檢查模塊分別連接報(bào)警模塊、數(shù)據(jù)展現(xiàn)模塊、服務(wù)節(jié)點(diǎn)通知模塊、服務(wù)節(jié)點(diǎn)分發(fā)選擇模塊;服務(wù)節(jié)點(diǎn)通知模塊還與負(fù)載均衡適配模塊連接,負(fù)載均衡適配模塊還與服務(wù)節(jié)點(diǎn)分發(fā)選擇模塊的服務(wù)節(jié)點(diǎn)啟用/停用接口連接;其中:
服務(wù)節(jié)點(diǎn)健康檢查模塊:基于業(yè)務(wù)系統(tǒng)服務(wù)判斷的業(yè)務(wù)服務(wù)集群服務(wù)節(jié)點(diǎn)是否健康,通過在訪問發(fā)送的請求cookie中增加服務(wù)節(jié)點(diǎn)的標(biāo)識(shí)信息,負(fù)載均衡器服務(wù)節(jié)點(diǎn)分發(fā)模塊收到請求后按標(biāo)識(shí)信息分發(fā)請求到指定的服務(wù)節(jié)點(diǎn);
報(bào)警模塊:服務(wù)節(jié)點(diǎn)檢查的結(jié)果通過郵件、短信通知運(yùn)維管理人員;
數(shù)據(jù)展現(xiàn)模塊:使用html5、css3和javascript技術(shù)將檢查結(jié)果展現(xiàn)給運(yùn)維管理人員查看;
服務(wù)節(jié)點(diǎn)通知模塊:業(yè)務(wù)服務(wù)集群中服務(wù)節(jié)點(diǎn)的健康度狀態(tài)通知負(fù)載均衡適配模塊;
負(fù)載均衡適配模塊:將業(yè)務(wù)服務(wù)集群中服務(wù)節(jié)點(diǎn)的健康度狀態(tài)通知轉(zhuǎn)換成不同負(fù)載均衡器的api調(diào)用方式;
服務(wù)節(jié)點(diǎn)分發(fā)模塊:識(shí)別訪問請求cookie中服務(wù)節(jié)點(diǎn)的標(biāo)識(shí)信息,調(diào)度負(fù)載均衡器服務(wù)節(jié)點(diǎn)分發(fā)模塊分發(fā)請求到指定的服務(wù)節(jié)點(diǎn)。
本發(fā)明在所述訪問發(fā)送的請求cookie中增加服務(wù)節(jié)點(diǎn)的標(biāo)識(shí)信息,通知負(fù)載均衡器服務(wù)節(jié)點(diǎn)分發(fā)模塊收到請求后按標(biāo)識(shí)信息分發(fā)請求到指定的服務(wù)節(jié)點(diǎn)。
本發(fā)明負(fù)載均衡器服務(wù)節(jié)點(diǎn)分發(fā)模塊只處理服務(wù)節(jié)點(diǎn)健康檢查模塊發(fā)送的請求,按請求的服務(wù)節(jié)點(diǎn)標(biāo)識(shí)信息分發(fā)請求到指定的服務(wù)節(jié)點(diǎn)。
本發(fā)明根據(jù)服務(wù)節(jié)點(diǎn)健康檢查模塊檢查的結(jié)果將服務(wù)節(jié)點(diǎn)標(biāo)識(shí)為:可用、不可用。
本發(fā)明將服務(wù)節(jié)點(diǎn)標(biāo)識(shí)轉(zhuǎn)換成具體的負(fù)載均衡器api接口調(diào)用,通知負(fù)載均衡器進(jìn)行服務(wù)節(jié)點(diǎn)狀態(tài)設(shè)置,從而使負(fù)載響應(yīng)用戶服務(wù)請求時(shí)將有故障的服務(wù)節(jié)點(diǎn)排除在業(yè)務(wù)服務(wù)集群外,在服務(wù)節(jié)點(diǎn)故障恢復(fù)后再加入到業(yè)務(wù)服務(wù)集群。
本發(fā)明的有益效果是,通過建立服務(wù)節(jié)點(diǎn)健康檢查模塊,sso認(rèn)證后請求業(yè)務(wù)服務(wù)來判斷的后端服務(wù)節(jié)點(diǎn)是否健康,通過在訪問發(fā)送的請求cookie中增加服務(wù)節(jié)點(diǎn)的標(biāo)識(shí)信息,調(diào)度負(fù)載均衡器服務(wù)節(jié)點(diǎn)分發(fā)模塊分發(fā)請求到指定的服務(wù)節(jié)點(diǎn)。服務(wù)節(jié)點(diǎn)通知模塊:后端服務(wù)節(jié)點(diǎn)是否健康度識(shí)別后通知負(fù)載均衡適配模塊。負(fù)載均衡適配模塊:將服務(wù)節(jié)點(diǎn)通知轉(zhuǎn)換成不同負(fù)載均衡器的api調(diào)用方式。
附圖說明
圖1為采用sso單點(diǎn)認(rèn)證的應(yīng)用系統(tǒng)結(jié)構(gòu);
圖2為用戶訪問應(yīng)用系統(tǒng)時(shí)用戶瀏覽器、應(yīng)用系統(tǒng)、sso認(rèn)證授權(quán)中心的業(yè)務(wù)訪問流程;圖3為本發(fā)明結(jié)構(gòu)圖;
圖4為本發(fā)明服務(wù)節(jié)點(diǎn)健康檢查模塊檢測處理流程圖;
圖5為本發(fā)明服務(wù)節(jié)點(diǎn)分發(fā)模塊處理流程圖;
圖6為現(xiàn)有技術(shù)采用sso單點(diǎn)認(rèn)證應(yīng)用系統(tǒng)結(jié)構(gòu)圖;
圖7為為現(xiàn)有技術(shù)用戶瀏覽器、應(yīng)用系統(tǒng)、sso認(rèn)證授權(quán)中心的業(yè)務(wù)訪問流程圖。
具體實(shí)施方式
一種采用sso單點(diǎn)認(rèn)證系統(tǒng)檢測服務(wù)節(jié)點(diǎn)健康度的負(fù)載均衡方法,本發(fā)明特征在于,由服務(wù)節(jié)點(diǎn)健康檢查模塊分別連接報(bào)警模塊、數(shù)據(jù)展現(xiàn)模塊、服務(wù)節(jié)點(diǎn)通知模塊、服務(wù)節(jié)點(diǎn)分發(fā)選擇模塊,服務(wù)節(jié)點(diǎn)通知模塊還與負(fù)載均衡適配模塊連接,負(fù)載均衡適配模塊還與服務(wù)節(jié)點(diǎn)分發(fā)選擇模塊的服務(wù)節(jié)點(diǎn)啟用/停用接口連接;其中:
一種采用sso單點(diǎn)認(rèn)證系統(tǒng)檢測服務(wù)節(jié)點(diǎn)健康度的負(fù)載均衡方法,分別包括:
服務(wù)節(jié)點(diǎn)健康檢查模塊:基于業(yè)務(wù)系統(tǒng)服務(wù)判斷的業(yè)務(wù)服務(wù)集群服務(wù)節(jié)點(diǎn)是否健康,通過在訪問發(fā)送的請求cookie中增加服務(wù)節(jié)點(diǎn)的標(biāo)識(shí)信息,負(fù)載均衡器服務(wù)節(jié)點(diǎn)分發(fā)模塊收到請求后按標(biāo)識(shí)信息分發(fā)請求到指定的服務(wù)節(jié)點(diǎn);
報(bào)警模塊:服務(wù)節(jié)點(diǎn)檢查的結(jié)果通過郵件、短信通知運(yùn)維管理人員;
數(shù)據(jù)展現(xiàn)模塊:使用html5、css3和javascript技術(shù)將檢查結(jié)果展現(xiàn)給運(yùn)維管理人員查看;
服務(wù)節(jié)點(diǎn)通知模塊:業(yè)務(wù)服務(wù)集群中服務(wù)節(jié)點(diǎn)的健康度狀態(tài)通知負(fù)載均衡適配模塊;
負(fù)載均衡適配模塊:將業(yè)務(wù)服務(wù)集群中服務(wù)節(jié)點(diǎn)的健康度狀態(tài)通知轉(zhuǎn)換成不同負(fù)載均衡器的api調(diào)用方式;
服務(wù)節(jié)點(diǎn)分發(fā)模塊:識(shí)別訪問請求cookie中服務(wù)節(jié)點(diǎn)的標(biāo)識(shí)信息,調(diào)度負(fù)載均衡器服務(wù)節(jié)點(diǎn)分發(fā)模塊分發(fā)請求到指定的服務(wù)節(jié)點(diǎn)。
本發(fā)明在所述訪問發(fā)送的請求cookie中增加服務(wù)節(jié)點(diǎn)的標(biāo)識(shí)信息,通知負(fù)載均衡器服務(wù)節(jié)點(diǎn)分發(fā)模塊收到請求后按標(biāo)識(shí)信息分發(fā)請求到指定的服務(wù)節(jié)點(diǎn)。
本發(fā)明負(fù)載均衡器服務(wù)節(jié)點(diǎn)分發(fā)模塊只處理服務(wù)節(jié)點(diǎn)健康檢查模塊發(fā)送的請求,按請求的服務(wù)節(jié)點(diǎn)標(biāo)識(shí)信息分發(fā)請求到指定的服務(wù)節(jié)點(diǎn)。
本發(fā)明根據(jù)服務(wù)節(jié)點(diǎn)健康檢查模塊檢查的結(jié)果將服務(wù)節(jié)點(diǎn)標(biāo)識(shí)為:可用、不可用。
本發(fā)明將服務(wù)節(jié)點(diǎn)標(biāo)識(shí)轉(zhuǎn)換成具體的負(fù)載均衡器api接口調(diào)用,通知負(fù)載均衡器進(jìn)行服務(wù)節(jié)點(diǎn)狀態(tài)設(shè)置,從而使負(fù)載響應(yīng)用戶服務(wù)請求時(shí)將有故障的服務(wù)節(jié)點(diǎn)排除在業(yè)務(wù)服務(wù)集群外,在服務(wù)節(jié)點(diǎn)故障恢復(fù)后再加入到業(yè)務(wù)服務(wù)集群。
下面結(jié)合圖2、圖4、圖5對本發(fā)明做進(jìn)一步詳細(xì)的說明:
如圖4,服務(wù)節(jié)點(diǎn)健康檢查模塊檢測處理流程,以訪求應(yīng)用系統(tǒng)時(shí)將請求訪問負(fù)載均衡器的對外服務(wù)地址,在訪問發(fā)送的請求cookie中增加服務(wù)節(jié)點(diǎn)的標(biāo)識(shí)信息,圖4中標(biāo)1的流程對應(yīng)圖2中的第1個(gè)步驟。跳轉(zhuǎn)到sso認(rèn)證中心,圖4中標(biāo)3的流程對應(yīng)圖2中的第3個(gè)步驟,服務(wù)節(jié)點(diǎn)健康檢查模塊模擬人工登錄方式完成認(rèn)證后繼續(xù)在訪問發(fā)送的請求cookie中增加服務(wù)節(jié)點(diǎn)的標(biāo)識(shí)信息,圖4中標(biāo)5的流程對應(yīng)圖2中的第5個(gè)步驟。sso認(rèn)證通過后可以請求業(yè)務(wù)功能并獲取到頁面的內(nèi)容,通過校驗(yàn)業(yè)務(wù)功能頁面是否包含預(yù)設(shè)的關(guān)鍵字,完成基于應(yīng)用系統(tǒng)業(yè)務(wù)服務(wù)集群服務(wù)節(jié)點(diǎn)健康度檢查。檢查完成后通過服務(wù)節(jié)點(diǎn)通知和負(fù)載均衡適配通知負(fù)載均衡器進(jìn)行服務(wù)節(jié)點(diǎn)狀態(tài)啟用/停用的設(shè)置,從而保證了業(yè)務(wù)集群的可用性。以異常服務(wù)節(jié)點(diǎn)狀態(tài)的報(bào)警通過郵件/短信方式通知運(yùn)維管理人員。
請求cookie中服務(wù)節(jié)點(diǎn)的標(biāo)識(shí)信息內(nèi)容如表1所示。
如圖5所示,服務(wù)節(jié)點(diǎn)分發(fā)模塊處理流程,以收到請求后檢查訪問的源地址如果是定義服務(wù)節(jié)點(diǎn)健康檢查模塊地址,識(shí)別訪問請求cookie中服務(wù)節(jié)點(diǎn)的標(biāo)識(shí)信息在業(yè)務(wù)服務(wù)集群的服務(wù)節(jié)點(diǎn)范圍,調(diào)度分發(fā)請求到指定的服務(wù)節(jié)點(diǎn)。如果不是,直接回復(fù)預(yù)先定義錯(cuò)誤內(nèi)容。服務(wù)節(jié)點(diǎn)分發(fā)模塊只對服務(wù)節(jié)點(diǎn)健康檢查模塊所有ip地址請求進(jìn)行處理,對用戶的正常業(yè)務(wù)系統(tǒng)訪問沒有任何影響。