《Windows Azure Platform 系列文章目录》
注意:本文介绍的是使用国内由世纪互联运维的Azure China服务。
以前的Traffic Manager,背后的Service Endpoint必须是Azure数据中心的Cloud Service。
现在最新的Traffic Manager,Endpoint不仅仅支持Azure数据中心的Cloud Service和Web Site。同时还支持部署在自建数据中心(第三方托管)的应用程序。
这种增强功能对客户的收益在于,平时客户可以访问部署在Azure数据中心的应用。如果Azure数据中心发生问题,可以切换到用户部署在自建数据中心的应用程序。实现高可用。
注意:如果需要添加自建数据中心(第三方托管)的应用程序,必须使用Azure PowerShell命令行工具。
模拟场景:假设某公司有2个托管网站
- 一个部署在Azure数据中心,DNS为LeiTestWinVM.chinacloudapp.cn
- 另外一个托管在自建数据中心,DNS为www.sjtu.edu.cn (咳咳,只能使用母校的域名了)
- 我们需要使用Azure PowerShell创建Traffic Manager,负载均衡器规则设置为Failover(故障转移)。同时使用Azure PowerShell增加以上2个服务的DNS节点。
有关Azure PowerShell的内容笔者不想重复了,不熟悉的读者可以参考笔者之前的文档:
Azure PowerShell (1) PowerShell入门
1.我们执行以下命令:
$profile = New-AzureTrafficManagerProfile -Name "LeiTrafficManager" -DomainName "LeiTrafficManager.trafficmanager.cn" -LoadBalancingMethod "Failover" -Ttl 30 -MonitorProtocol "Http" -MonitorPort 80 -MonitorRelativePath "/" $profile = Add-AzureTrafficManagerEndpoint -TrafficManagerProfile $profile -DomainName "LeiTestWinVM.chinacloudapp.cn" -Status "Enabled" -Type "CloudService" $profile = Add-AzureTrafficManagerEndpoint -TrafficManagerProfile $profile -DomainName "www.sjtu.edu.cn" -Status "Enabled" -Type "Any" Set-AzureTrafficManagerProfile –TrafficManagerProfile $profile
上面的命令行中:
- 第一行命令,创建了新的Traffic Manager,并且命名为LeiTrafficManager,定义了负载均衡器规则设置为Failover(故障转移),监控的协议为HTTP,同时设置了TTL和监控的端口80
- 第二行命令,对Traffic Manager增加Azure云端的DNS 服务:LeiTestWinVM.chinacloudapp.cn (为一台Azure虚拟机)
- 第三行命令,对Traffic Manager增加本地托管的DNS服务:www.sjtu.edu.cn
- 第四行命令,创建该Traffic Manager
2.执行结果如下:
3.查看Azure Management Portal的配置页面
上图中,配置页面中的内容,就是笔者在步骤一的配置。
注意上图中红色部分,故障转移优先级列表:
- 如果2个云服务都是联机状态。用户优先访问Azure云上的服务, DNS为:LeiTrafficManager.trafficmanager.cn
- 如果Azure云上的服务发生异常宕机了。用户访问列表上的第2个地址,DNS为:www.sjtu.edu.cn
4.当Azure Traffic Manager配置的DNS都是联机状态下:
访问Traffic Manager,会优先访问到第一个DNS服务器地址。截图如下:
5.如果我们模拟第一个DNS服务器发生宕机的情况。比如笔者将Azure VM关闭。观察到Azure VM所在的DNS状态为已降级。如下图:
6.这时候我们再访问Traffic Manager,会优先访问到第二个DNS服务器地址。截图如下:
这样,就实现了横跨本地应用+云端应用的高可用。
7.最后请读者别忘记了,将自己的域名增加CName,指向Traffic Manager所在的DNS服务。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2014-05-25 Azure China (4) 管理Azure China Storage Account