Azure Traffic Manager(二) 基于权重与基于优先级的路由策略为我们的Web项目提供负载均衡
一,引言
上一片文章我们使用 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
版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。
- Azure 提供负载均衡(一)Azure Traffic Manager 为我们的Web项目提供负载均衡
- nginx提供web服务和实现负载均衡
- 基于Mysql与Redis数据库集群的前端项目搭载与负载均衡
- 基于keepalive+LVS的高可用集群来实现web服务负载均衡集群的架构
- 中国版 Azure 现提供 Azure Traffic Manager
- 中国版 Azure 现提供 Azure Traffic Manager
- 尝试我们的实用Web动画课程,并提供新的奖励项目!
- 中国版 Azure 现提供 Azure Traffic Manager
- 中国版 Azure 现提供 Azure Traffic Manager
- 基于Server-Sent Event的简单聊天室 Web 2.0时代,即时通信已经成为必不可少的网站功能,那实现Web即时通信的机制有哪些呢?在这门项目课中我们将一一介绍。最后我们将会实现一个基于Server-Sent Event和Flask简单的在线聊天室。
- 基于memcached-session-manager的负载均衡
- 基于Server-Sent Event的简单聊天室 Web 2.0时代,即时通信已经成为必不可少的网站功能,那实现Web即时通信的机制有哪些呢?在这门项目课中我们将一一介绍。最后我们将会实现一个基于Server-Sent Event和Flask简单的在线聊天室。
- 基于Web的企业级应用因用户UI的友好性,导致大量核心企业应用项目失败---我们该如何应对?
- 实例详解LB基于LVS架构之NAT、DR模型架构实现web服务负载均衡
- 转载:浅谈web应用的负载均衡、集群、高可用(HA)解决方案
- 揭秘企业级web负载均衡完美架构