使用 Azure 流量管理器可以控制跨应用程序终结点的流量分布。 终结点是 Azure 内部或外部托管的任何面向 Internet 的服务。
流量管理器提供两个关键优势:
- 根据某个流量路由方法对流量进行分布
- 连续监视终结点运行状况,在终结点发生故障时自动进行故障转移
客户端尝试连接到服务时,必须先将服务的 DNS 名称解析为 IP 地址。 然后,客户端连接到该 IP 地址以访问服务。
要了解的最重要点是,流量管理器在应用程序层(第 7 层)的 DNS 级别工作。 流量管理器使用 DNS 根据流量路由方法的规则将客户端定向到特定服务终结点。 客户端直接连接到所选终结点 。 流量管理器不是代理或网关。 流量管理器看不到在客户端和服务之间传递的流量。
流量管理器使用配置文件来控制云服务或网站终结点的流量。 有关配置文件的详细信息,请参阅管理 Azure 流量管理器配置文件。
流量管理器示例
Contoso Corp 开发了新的合作伙伴门户。 这个门户的URL是https://partners.contoso.com/login.aspx。 该应用程序在三个 Azure 区域中运行。 为了提高可用性并最大限度地提高全局性能,他们使用流量管理器将客户端流量分发到最近的可用终结点。
若要实现此配置,请完成以下步骤:
部署其服务的三个实例。 这些部署的 DNS 名称为“contoso-east.chinacloudapp.cn”、“contoso-north.chinacloudapp.cn”和“contoso-east2.chinacloudapp.cn”。
创建名为“contoso.trafficmanager.cn”的流量管理器配置文件,并将其配置为跨三个终结点使用“性能”流量路由方法。
使用 DNS CNAME 记录将虚名域名“partners.contoso.com”配置为指向“contoso.trafficmanager.cn”。
重要
只有一个 Azure [租户 ID] 可以拥有给定的根流量管理器 DNS 名称。 尝试使用已在使用的名称将显示错误。 在以下示例中,根 DNS 名称 contoso。 此外,如果配置文件是使用点分隔的名称(例如 partners.contoso.trafficmanager.cn)创建的,则会自动保留 contoso.trafficmanager.cn。
客户端如何使用流量管理器进行连接
在前面的示例中,当客户端请求页面 https://partners.contoso.com/login.aspx时,客户端将执行以下步骤来解析 DNS 名称并建立连接:
客户端将 DNS 查询发送到其配置的递归 DNS 服务,以解析名称“partners.contoso.com”。 递归 DNS 服务(有时称为“本地 DNS”服务)不会直接托管 DNS 域。 相反,客户端会将联系互联网中各种权威 DNS 服务以解析 DNS 名称的任务转移出去。
若要解析 DNS 名称,递归 DNS 服务将查找“contoso.com”域的名称服务器。 然后,它会联系这些名称服务器以请求“partners.contoso.com”DNS 记录。 contoso.com DNS 服务器返回指向 contoso.trafficmanager.cn 的 CNAME 记录。
接下来,递归 DNS 服务查找 Azure 流量管理器服务提供的“trafficmanager.cn”域的名称服务器。 然后,它会向这些 DNS 服务器发送“contoso.trafficmanager.cn”DNS 记录的请求。
流量管理器名称服务器接收请求。 他们根据以下条件选择终结点:
- 每个终结点的配置状态(流量管理器不返回禁用的终结点)
- 每个终结点的当前运行状况,可通过流量管理器运行状况检查来确定。 有关详细信息,请参阅流量管理器终结点监视。
- 所选的流量路由方法。 有关详细信息,请参阅 流量管理器路由方法。
流量管理器将所选终结点作为另一个 DNS CNAME 记录返回。 在本例中,假设它返回 contoso-north.chinacloudapp.cn。
接下来,递归 DNS 服务查找“chinacloudapp.cn”域的名称服务器。 它会联系这些名称服务器以请求“contoso-north.chinacloudapp.cn”DNS 记录。 DNS 服务器返回一条“A”记录,其中包含基于中国-北部的服务终结点的 IP 地址。
递归 DNS 服务合并结果,并向客户端返回单个 DNS 响应。
客户端接收 DNS 结果并连接到给定的 IP 地址。 客户端直接连接到应用程序服务终结点,而不是通过流量管理器。 由于它是 HTTPS 终结点,客户端执行必要的 SSL/TLS 握手,然后对“/login.aspx”页发出 HTTP GET 请求。
流量管理器和 DNS 缓存
递归 DNS 服务会缓存它收到的 DNS 响应。 客户端设备上的 DNS 解析程序也会缓存结果。 通过缓存,后续 DNS 查询可以使用缓存中的数据来更快地获取答案,而不是查询其他名称服务器。 每个 DNS 记录的“生存时间”(TTL)属性决定了缓存持续时间。 较短的值会导致缓存过期更快,以及流量管理器名称服务器的往返次数更多。 较长的值意味着将流量从失效的端点转移需要更长的时间。 流量管理器允许在 DNS 响应中将 TTL 配置为低至 0 秒,最高为 2,147,483,647 秒(符合 RFC-1035 的最大范围),因此可以选择最能平衡应用程序需求的值。
常见问题解答
后续步骤
详细了解流量管理器终结点监视和自动故障转移。
详细了解流量管理器 流量路由方法。