Azure 流量管理器-基于DNS的负载均衡,可将用户导流到最近的数据中心

Azure上的负载均衡类产品除了以前介绍的4层负载均衡(请参照《 Azure 上的高可用(1)-负载均衡》),还有一个跨区域的产品,这就是Azure Traffic Manager,和4层负载均衡相比,Azure Traffic Manager 最大的区别是提供跨区域的负载均衡。html


Azure 流量管理器是一种基于 DNS 的流量负载均衡器,能够在全球 Azure 区域内以最佳方式向服务分发流量,同时提供高可用性和响应性。
git

流量管理器根据流量路由方法和终结点的运行情况,使用 DNS 将客户端请求定向到最合适的服务终结点。 终结点能够是托管在 Azure 内部或外部的任何面向 Internet 的服务。 流量管理器提供多种流量路由方法和终结点监视选项来知足不一样的应用程序需求和自动故障转移模型。 流量管理器可以灵活应对故障,包括整个 Azure 区域的故障。github

Azure 流量管理器基础知识视频介绍:
web

https://v.qq.com/x/page/e3040r6u0dx.htmlapi


流量管理器提供了6种路由方法,包含:缓存

1.优先级(Priority):服务器

流量管理器配置文件包含服务终结点的优先顺序列表。 默认状况下,流量管理器将全部流量发送到主终结点(优先级最高)。 若是主终结点不可用,流量管理器会将流量路由到第二个终结点。 若是主终结点和辅助终结点都不可用,流量会转到第三个终结点,依此类推。 终结点的可用性取决于配置的状态(已启用或已禁用)和正在进行的终结点监视。
网络

可使用每一个终结点的“priority”属性显式配置终结点优先级。 此属性是一个介于1 和 1000 之间的值。 值越小,优先级越高。 终结点不能共享优先级值。 该属性的设置是可选的。 若是省略该属性,会根据终结点顺序使用默认优先级。app

640?wx_fmt=png

2.加权(Weighted):负载均衡

        在“加权”流量路由方法中,权重是从 1 到 1000 的整数。 此参数是可选的。 若是省略此参数,流量管理器会使用默认权重“1”。 权重越高,优先级就越高。

对于收到的每一个 DNS 查询,流量管理器会随机选择一个可用终结点。 选择哪一个终结点取决于分配到全部可用终结点的权重。 对全部终结点使用相同的权重会致使均匀分布流量。

加权方法能够实现一些有用的方案:

应用程序逐步升级:分配要路由到新终结点的流量百分比,并随着时间的推移逐渐将流量增长到100%。

将应用程序迁移到 Azure:建立包含 Azure 终结点和外部终结点的配置文件。 调整终结点的权重,优先选择新终结点。

适用于更多容量的云爆发:经过将本地部署放在流量管理器配置文件以后,快速将本地部署扩展到云中。 当你须要在云中得到额外的容量时,能够添加或启用更多终结点,并指定哪部分流量将流向每一个终结点。

必须知道,客户端及其用来解析 DNS 名称的递归 DNS 服务器会缓存 DNS 响应。 这种缓存可能会影响到加权流量分布。 若是客户端和递归DNS 服务器的数目较大,流量分布将按预期工做。 可是,若是客户端或递归DNS 服务器的数目较小,缓存可能会严重影响流量分布。

640?wx_fmt=png


3.性能(Performance):

在国家或区域的两个或更多位置部署终结点,将流量路由到“最靠近”你的位置,便可改善许多应用程序的响应能力。 “性能”流量路由方法提供这种能力

“最靠近”的终结点不必定是地理距离最近的终结点。 “性能”流量路由方法经过测试网络延迟来肯定最靠近的终结点。 流量管理器维护一份Internet 延迟表,用于跟踪 IP 地址范围与每一个 Azure 数据中心之间的往返时间。

流量管理器在 Internet 延迟表中查找传入 DNS 请求的源 IP 地址。 而后,流量管理器在处理该IP 地址范围的请求时具备最低延迟的Azure 数据中心内选择一个可用终结点,并在DNS 响应中返回该终结点。

量管理器按期更新 Internet 延迟表,反映全国 Internet 的变化以及新的 Azure 区域。 可是,因为Internet 上的负载会实时变化,应用程序性能也会随之变化。 “性能”流量路由不会监视给定服务终结点上的负载。 可是,若是某个终结点变得不可用,则流量管理器不会在DNS 查询响应中包括该终结点。

640?wx_fmt=png


4.地理(Geographic ):

流量管理器配置文件能够配置为使用“地理”路由方法,以便根据用户的DNS 查询所源自的地理位置将用户定向到特定终结点(“Azure”、“外部”或“嵌套”)。 这使流量管理器客户能够启用这样的方案:在这些方案中,了解用户的地理区域,并基于该地理区域路由用户很重要。 示例包括遵照数据全部权要求、内容本地化和用户体验,以及测量来自不一样区域的流量。 为地理路由分配配置文件时,与该配置文件关联的每一个终结点都需要有一组分配给它的地理区域。 地理区域的粒度能够是如下级别:

世界 - 任何区域

区域分组 例如,非洲、中东、澳大利亚/太平洋等。

国家/地区 - 例如,爱尔兰、秘鲁、中国香港特别行政区等。

省/自治区/直辖市 - 例如,美国加利福尼亚州、澳大利亚昆士兰州、加拿大阿尔伯达省等(注意:只有澳大利亚、加拿大和美国中的省/自治区/直辖市才支持此粒度级别)。

将一个或一组区域分配到某个终结点后,来自这些区域的任何请求仅路由到该终结点。 流量管理器使用DNS 查询的源 IP 地址来肯定用户从中进行查询的区域- 一般,这将是表明用户执行查询的本地DNS 解析程序的 IP 地址。

640?wx_fmt=png


5.多值(Multivalue):

流量路由方法容许你在单个 DNS 查询响应中得到多个正常运行的终结点。 这使得调用方在返回的某个终结点没法响应时可以经过其余终结点进行客户端重试。 此模式能够提升服务可用性,并下降与新DNS 查询获取正常运行的终结点相关的延迟。 只有当全部终结点的类型都是“外部”而且指定为IPv4 或 IPv6 地址时,多值路由方法才有效。 当收到对此配置文件的查询时,会根据可配置的最大返回计数返回全部正常运行的终结点。

6.子网(Subnet):

流量路由方法容许你将一个最终用户IP 地址范围集映射到配置文件中的特定终结点。 此后,若是流量管理器收到针对该配置文件的DNS 查询,则它将检查该请求的源 IP 地址(大多数状况下,这是调用方使用的DNS 解析程序的传出 IP 地址),肯定它映射到哪一个终结点,并在查询响应中返回该终结点。



案例实战:将流量路由到离用户最近的站点


案例实战视频:https://v.qq.com/x/page/d3040zf64y8.html





640?wx_fmt=png



实战步骤:

  1. 在中国北部和中国东部2分别建立一台虚拟机,命名为seanyuvm01seanyuvm02

  2. 置两台虚拟机IPDNS别为:seanyuvm01.chinanorth.cloudapp.chinacloudapi.cn 和 seanyuvm02.chinaeast2.cloudapp.chinacloudapi.cn


    640?wx_fmt=png


  3. 虚拟机需开启3389端口,安装IIS,部署静态网站,开启防火墙80端口,此时能够经过IP访问静态网站;

    网站下载地址:

    https://github.com/Azure-Samples/html-docs-hello-world

    示例网站:


    640?wx_fmt=png

  4. 建立“性能” 流量管理器(http://seanyutest.trafficmanager.cn ),将两台虚拟机的IP添加到流量管理器终结点;



    640?wx_fmt=png

  5. 在域名5gn.link 设置域名解析,添加 web.5gn.link  CNAME 录为量管理器的 域名;



    640?wx_fmt=png

  6. 过访问 流量管理器 seanyutest.trafficmanager.cn 和 域名 web.5gn.link 两个域名测试访问,别从两台虚拟机(北部/ 东部2)访问,观察实际访问的网站位置。


    640?wx_fmt=png


关闭VM02的IIS后,会自动导流到VM01


640?wx_fmt=png


640?wx_fmt=png


扩展:下图是基于流量管理器的可负载均衡至全球的结构,请自行设置并验证。

640?wx_fmt=png

相关文章
相关标签/搜索