一,引言
上一片文章我们使用 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
版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。