Azure Traffic Manager(二) 基於權重與基於優先順序的路由策略為我們的Web專案提供負載均衡

Grant_Allen發表於2020-07-20

一,引言

  上一片文章我們使用 Azure Traffic Manager 分發使用者請求,同時演示了兩種路由策略,“Performance”,“Geographic”的兩種方式,今天我們繼續講解 Traffic Manager profile 的其他幾種路由策略。我們依舊先來看看我們的架構圖,廢話不多說,開始今天的分享。

  我們需要為流量管理器配置檔案配置中的每個終結點分配權重。 然後,系統會根據分配給每個終結點的權重進行使用者流量路由。 該權重是從 1 到 1,000 的整數。 分配給終結點的權重值越高,其優先順序就越高。

--------------------我是分割線--------------------

Azure Web App 部署系列:

1,Azure Web App(一)釋出你的Net Core Web 專案

2,Azure Web App(二)使用部署槽切換部署環境程式碼

3,Azure Web App(三)切換你的Net Core Web 專案的資料庫連線字串

4,Azure 提供負載均衡(一)Azure Traffic Manager 為我們的Web專案提供負載均衡

5,Azure Traffic Manager(二) 基於權重與基於優先順序的路由策略為我們的Web專案提供負載均衡 

二,正文

1,建立路由策略為 “Weighted” 的Traffic Manager profile

Azure Portal 中 點選 ”Create a resource“,搜尋框中輸入 “Traffic Manager profile”,進行搜尋

點選 “Create”

Name:“tm02-cnbateblogweb”

Routing mehtod 選擇 “Weighted”(基於權重的路由策略)

Resource group 選擇 “Web_Test_TM_RG”

點選 “Create”

 Azure Portal 的訊息框中,我們可以看到 基於權重的 Traffic Manager profile 建立成功,我們點選 “Go to resource” 跳轉到資源中

 

 選擇 "Settings" => "Endpoints" ,點選 “Add”,新增 "endpoint"(終結點)

 

Type:“Azure endpoint”

Name:”tm02_cnbateblogweb_webapp_performance“

Target resource type:“App Service”

Target resource:“CnBateBlogWeb(East Asia)”

Weight:20(我隨便寫的,大家不要在意)

 我們可以看到剛剛新增的終結點資訊

我們使用同樣的方法,將 CnBateBlogWeb01的 Web App也新增到當前 Traffic Manager 的終結點中.

Type:"Azure endpoint"

Name:"tm02_cnbateblogweb01_webapp_performance"

Target resource type:"App Service"

Target resource:"CnBateBlogWeb01"

Weight:"100"

點選 “Add”

我們可以看到我們剛剛新增的兩個終結點的狀態也是 ok的,接下來我們就可以進行測試

選擇 “Overview”,複製 DNS name 的 "url" 到瀏覽器,檢視結果

測試1

終結點名稱 目標資源 權重
tm02_cnbateblogweb_webapp_performance  CnbateBlogWeb 20 
tm02_cnbateblogweb01_webapp_performance  CnbateBlogWeb01 100

 



 

 

我們可以看到當前 流量管理器配置將請求轉發到 “CnBateBlogWeb01” 的Web App 上了

 測試2

終結點名稱 目標資源 權重
tm02_cnbateblogweb_webapp_performance  CnbateBlogWeb 100 
tm02_cnbateblogweb01_webapp_performance  CnbateBlogWeb01 20

 



 

我們可以看到當前 流量管理器配置將請求轉發到 “CnBateBlogWeb” 的Web App 上了

2,建立路由策略為 “Priority” 的Traffic Manager profile

重複上述的步驟,建立路由策略為 “Priority” 的 流量管理器配置檔案

Name : "tm03-cnbateblogweb"

Routing method:“Priority”

點選 “Create”

下圖是我新增的兩個終結點

CnBateBlogWeb 的優先順序是 1

CnBateBlogWeb01 的優先順序是 2

 

 

 選擇 “Overview”,複製 DNS name 的 "url" 到瀏覽器,檢視結果。

 測試1

終結點名稱 目標資源 優先順序
tm02_cnbateblogweb_webapp_performance  CnbateBlogWeb 1 
tm02_cnbateblogweb01_webapp_performance  CnbateBlogWeb01 2

 

 

 

 

我們把 CnBateBlogWeb 的Web App 停止掉,再次進行測試

   我們可以看到主終結點位於頂部, 所有請求均會路由到第一個終結點;如果流量管理器檢測到其處於不正常狀態,則流量會自動故障轉移到下一終結點。Priority(基於優先順序的路由策略) 可按照優先順序設定多個從節點(web 伺服器),當其中的某個或多個節點失效時,活著的節點中具有最高優先順序者對外提供服務。這個策略主要用來提高服務的可用性。

撒花,?????

三,總結

   ok,今天的分析到此結束,關於Traffic Manager profile 的 Routing method 我們分別介紹了 “Performance(基於效能的路由策略)”,“Geographic(基於地理位置的路由策略)”,“Weighted(基於權重的路由策略)”,“Priority(優先順序的路由策略)”,至於剩下的兩種策略,“MultiValue(基於多值的路由策略)” 和 “Subnet(基於子網的路由策略)”,大家可以自行看著微軟的官方介紹,嘗試實踐一下。

下一篇,我們介紹另外一種具體流量轉發,負載均衡的服務-----Azure Load Balance,期待中........

作者:Allen 

專案程式碼:https://github.com/yunqian44/CnBateBlogWeb.git

版權:轉載請在文章明顯位置註明作者及出處。如發現錯誤,歡迎批評指正。

相關文章