一、負載均衡算法原理與實戰(zhàn)
衛(wèi)東網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)自2013年創(chuàng)立以來到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)。負載均衡算法(load balancing algorithm),定義了幾種基本的流量分發(fā)方式,在Istio中共有4種標準負載均衡算法。
?Round_Robin: 輪詢算法,顧名思義請求將會依次發(fā)給每一個實例,來共同分擔所有的請求。
?Random: 隨機算法,將所有的請求隨機分發(fā)給健康的實例
?Least_Conn: 最小連接數(shù),在所有健康的實例中任選兩個,將請求發(fā)給連接數(shù)較小的那一個實例。
接下來,我們將根據(jù)以上幾個算法結合APM(應用性能管理)的監(jiān)控拓撲圖來實戰(zhàn)下。
·實戰(zhàn)環(huán)境·
華為云開啟了Istio服務網(wǎng)格的CCE集群
官方最佳時間Bookinfo應用,并且給Reviews配置了五個實例
開通APM測試服務(免費)
我們知道如果用戶不進行任何配置,負載均衡算法默認是輪詢算法,所以我們現(xiàn)將負載均衡算法設為隨機(Random)。
步驟 1
在云容器引擎界面點擊應用管理,選擇流量治理。
步驟 2
右側(cè)出現(xiàn)拓撲圖,在上面的選項欄中選擇集群,命名空間,應用。然后點擊我們想配置的組件,這里是 reviews,右側(cè)則會出現(xiàn)流量治理的界面。
步驟 3
在負載均衡算法中,由Round_Robin 改為random。
步驟 4
在左側(cè)導航欄中選擇流量治理下面的流量監(jiān)控,再選擇相應的集群,命名空間,應用。多訪問幾次,或者后臺寫腳本一直curl productpage,可以從拓撲圖中觀察數(shù)據(jù)。
步驟 5
當有流量時,鼠標右鍵點擊reviews組件,選擇展開選項這時我們可以看到所有實例的被分發(fā)情況。
實例編號 1 2 3 4 5
訪問次數(shù) 62 38 39 42 52
其余負載均衡算法基本一樣,我們在步驟上不做贅述,直接展示結果。
輪詢算法:
實例編號 1 2 3 4 5
訪問次數(shù) 47 47 48 46 47
二、會話保持原理與實戰(zhàn)
會話保持(Session Affinity)是通過設定的某個指標來計算,將哈希值相同的請求分發(fā)至某個固定的實例來處理。現(xiàn)在支持基于HTTP頭部設定指標和Cookie鍵值設定指標。
我們當前還在輪詢算法中,所以所有請求會均勻的分配給所有實例,設置會話保持基于HTTP請求頭部,并且設為Cookie。我們后臺curl的請求cookie設為了一個固定值,理論上來講所有的請求都會分發(fā)至同一個pod。
我們依然采用流量監(jiān)控,展開reviews組件來觀察分發(fā)情況。
所有的請求都分發(fā)至了第二個實例,因為cookie一致所以保持了這個會話鏈接。
三、故障注入原理與實戰(zhàn)
故障注入(Fault Injection)為開發(fā)和測試人員主動向系統(tǒng)中引入故障,來觀察系統(tǒng)在非正常狀態(tài)下的行為,是一種可靠性,穩(wěn)定性的驗證手段。Istio也支持了非侵入式的注入故障,分為時延故障和中斷故障。
故障注入的步驟大致相同在流量治理頁面的下方,選擇時延故障,并且輸入觸發(fā)百分比和延時時間。然后再打開productpage 手動刷新幾次,能明顯感覺到延遲有了變化,當然也可以打開F12調(diào)試界面,觀察網(wǎng)絡請求狀況,不難發(fā)現(xiàn)productpage請求耗時都在2秒上下。
這時候我們打開流量監(jiān)控界面觀察下發(fā)現(xiàn)productpage與reviews受到了明顯的影響。紅色表示請求狀態(tài)極差,虛線表示是由時延造成的。
接下來我們來測試并且使用中斷故障,我們對details配置中斷故障,中斷返回碼設為501。
配置完后,我們再去手動訪問幾次productpage來觀察下結果。
發(fā)現(xiàn)現(xiàn)在的右側(cè)details已經(jīng)報了error
我們回到流量監(jiān)控圖,可以看到組件之間的訪問情況。在給ratings配置了中斷故障后,原本調(diào)用ratings組件的reviews組件,已經(jīng)無法和ratings通信了。
本文以華為云istio服務結合APM服務為大家演示了流量治理中的主要功能。希望大家在今后的開發(fā)和測試中可以利用istio靈活的非侵入的治理功能提高開發(fā)和測試的效率。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。