Azure Traffic Manager(二) 基于权重与基于优先级的路由策略为我们的Web项目提供负载均衡

一,引言

  上一片文章我们使用 Azure Traffic Manager 分发用户请求,同时演示了两种路由策略,“Performance”,“Geographic”的两种方式,今天我们继续讲解 Traffic Manager profile 的其他几种路由策略。我们依旧先来看看我们的架构图,废话不多说,开始今天的分享。

  我们需要为流量管理器配置文件配置中的每个终结点分配权重。 然后,系统会根据分配给每个终结点的权重进行用户流量路由。 该权重是从 1 到 1,000 的整数。 分配给终结点的权重值越高,其优先级就越高。

--------------------我是分割线--------------------

Azure Web App 和Azure VM 部署系列:

1,Azure Web App(一)发布你的Net Core Web 项目

2,Azure Web App(二)使用部署槽切换部署环境代码

3,Azure Web App(三)切换你的Net Core Web 项目的数据库连接字符串

4,Azure Traffic Manager(一) 为我们的Web项目提供负载均衡

5,Azure Traffic Manager(二) 基于权重与基于优先级的路由策略为我们的Web项目提供负载均衡 

6,Azure Load Balance(一) 为我们的Web项目提供负载均衡 

7,Azure Load Balancer(二) 基于内部的负载均衡来转发访问请求 

8,Azure Application Gateway(一)对后端 Web App 进行负载均衡 

9,Azure Application Gateway(二)对后端 VM 进行负载均衡  

二,正文

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

版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。

posted @ 2020-07-20 17:21  Grant_Allen  阅读(1221)  评论(13编辑  收藏  举报