Openmix

概述

Citrix ITM Openmix 提供了一种革命性的方法来执行全球流量管理/全球服务器负载平衡 (GTM/GSLB)。对于传统的全球流量管理,ITM 提供了一种基于 DNS 的负载平衡方法,使用 DNS 别名记录或 A 记录,根据所需的业务逻辑实时更改 DNS 响应。对于视频,Openmix 可以通过多种方式集成到视频工作流程和交付中。

多年来,GTM/GSLB 工具和服务一直依赖专有的、不可扩展的静态规则引擎来定义和控制一组狭窄的固定策略(例如,故障转移、循环、地理定位)。Citrix ITM 的使命是基于实时数据馈送启用下一代云策略。全球分布式按需 Openmix 平台提供了一种高度稳健的方法,可以从各种来源获取实时数据,并将此元数据显示为环境“变量”,可根据每个请求进行评估。

Openmix:主要优势

  • 消除单一供应商的依赖关系
  • 确保 100% 可用性
  • 控制价格/性能权衡
  • 消除与多源相关的头痛
  • 消除传统性能工具的不确定性
  • 有选择性和战略性地卸载流量
  • 将特定供应商应用于个别市场

开口混音的工作原理

客户登录 Citrix ITM 门户以部署其第一个应用程序。一个示例应用程序库可用于帮助,一个开始使用分步向导工具可用于帮助创建具有最常见路由逻辑的应用程序。ITM Openmix 应用程序可以支持两种协议用于指导流量:DNS 或 HTTP。

应用程序定义的控件

分布在全球范围内的按需 Openmix 平台将 GTM/GSLB 决策工作带到您的应用受众身边。每个主机都可以拥有自己定义的 Openmix 应用程序,该应用程序考虑所有当前可用的指标和变量,以便为任何路由请求提供最佳优化。

Openmix 脚本是用 JavaScript 编程的,这是大多数 Web 程序员和网络管理员都可以访问的语言。虽然这种基于脚本的方法是几乎可以实现任何业务逻辑的方法,并且以最小的编码复杂性来实现,以此作为真正动态流量管理策略的基础。由于我们的客户社区的协作性质,ITM 还提供了“快速入门应用程序”,这些应用程序是不需要代码的标准应用程序。

何时使用 HTTP 或 DNS 服务

ITM Openmix 可实现广泛的内容交付优化。您使用哪种方法来启用 Openmix 在很大程度上取决于您的用例的具体情况。DNS 方法易于实施,大多对客户端透明,并且可以在各种内容中使用。但是,切换提供程序的能力受 DNS 响应上的 TTL 设置的限制,并且某些内容无法切换到不同的提供程序中流。HTTP 提供了更大的集成灵活性,并且在最适合客户端时可以做出优化决策。这种更大的灵活性需要更多的工作来与 CMS 或客户端集成。

下表总结了我们看到的 DNS 和 HTTP 接口的主要客户使用案例。

DNS 和 HTTP 接口的客户使用案例

Openmix:DNS

CNAME 委派

ITM 客户最简单的集成是使用 DNS 别名记录委派。CNAME 委派的工作原理是让客户将其面向最终用户的主机名称(在下面的示例中,www.acme.com)指向 ITM 主机名称。

www.acme.com  600  IN  CNAME  2-02-123d-000d.cdx.cedexis.net.
<!--NeedCopy-->

在收到来自最终用户的 DNS 请求后,ITM 系统会根据 Radar 数据、应用程序中的业务逻辑以及提供的任何第三方信息做出实时决策。此决定可以作为另一个别名记录(在我们的示例下面 acme.cdn1.net 中),也可以作为 A 记录(如 111.222.111.222)。

通过提供 CNAME 记录,ITM 可以有效地将最终用户“指向”选择的 CDN、云或数据中心,将最终用户路由到使用该提供商而不是另一个提供商。

2-02-123d-000d.cdx.cedexis.net.  19  IN  CNAME acme.cdn1.net.
<!--NeedCopy-->

一旦提供 CDN 或云 CNAME,最终用户计算机将通过请求 CDN 的名称服务器继续解析链,直到收到要与之通信的节点/服务器的 IP 地址。在下载内容的过程开始的位置。 如果 A 记录作为逻辑的一部分提供,最终用户计算机将接收 IP 地址并直接连接到服务器并启动内容的下载。

acme.cdn1.net.  132  IN  A  111.222.222.111
<!--NeedCopy-->

区域委派

此外,权威 DNS 区域委派是实现 Openmix 的一个选项。客户创建一个 DNS 区域并委派到在 ITM 门户中创建的预测 DNS 区域。在委派区域中创建主机名,并配置为使用 Openmix 应用程序或动态预测 DNS 记录生成响应。此选项 的优点在于主机名和 ITM 平台的动态响应之间不需要 CNAME 委派。使用上面的示例,www.acme.com 主机名将直接解析为最佳 CDN、云或数据中心的配置值。

www.acme.com. 19 IN CNAME acme.cdn1.net.

A/AAAA 记录也可以用来代替 CNAME,并且主机名将直接解析为最佳目标的记录。

www.acme.com. 19 IN A 111.222.222.111

DNS 和生存时间的影响

必须注意的是,必须仔细考虑 TTL(生存时间)值等因素,并为内容设置适当的时间和用户决策方式的要求。在大多数情况下,ITM 建议用于页面和对象内容的 20 秒 TTL。对于视频内容,ITM 顾问与客户合作,根据块长度和集成方法找到最合适的平衡。

Openmix:HTTP

DNS 的替代方法是使用 HTTP API。对 Openmix 的 HTTP 访问使用 HTTP 请求来通知客户端(如视频播放器或 CMS)在任何一个时间点使用哪个平台。

http://hopx.cedexis.com/zones/1/customers/0/apps/1/decision
< HTTP/1.1 200 OK
< Content-Type: application/json
< Date: Mon, 22 Apr 2015 20:25:24 GMT
< Connection: keep-alive
< Content-Length: 177
<
{
  "providers" : [
    {
    "provider" : "cdn2",
    "host" : "foo.cdn2.net"
    },
    {
    "provider" : "cdn1",
    "host" : "acme.cdn1.net"
    }
  ]
}
<!--NeedCopy-->

HTTP Openmix 服务使用与其基于 DNS 的对应应用程序逻辑相同,并包含了一些附加扩展,从而允许对客户端计算机进行进一步分析。例如,使用 HTTP Openmix,还可以查看用户代理字符串、X 转发和引用器的标头,并使用查询字符串参数提供 IP 覆盖。 由于 HTTP Openmix 的有效负载比 DNS 更具可扩展性,因此也可以通过不同的方式提供 CDN、云或服务器决策选择。到目前为止,最常见的是从最喜欢的平台到最少的有序列表(如上所述)。通过提供完整列表,它允许将决策排名提供给 CMS 或客户端,但仍然允许在选择提供商时使用内部启发式算法。

内容管理系统集成

有些客户喜欢在服务器端处理提供商选择,而不是在每个客户端中实现提供商选择。HTTP API 可用于在客户端请求时从 Openmix 检索优化决策,可用于填充从 CMS 返回到客户端的文件。

默认情况下,Openmix HTTP 端点使用调用者的 IP 进行地理位置和决策条件。相反,如果您是从 CMS 或其他位于最终用户客户端和 Openmix 之间的系统调用,则可以指定决策中使用的 IP 作为参数。

http://hopx.cedexis.com/zones/1/customers/0/apps/1/decision?ip=1.2.3.4
< HTTP/1.1 200 OK
< Content-Type: application/json
< Date: Mon, 22 Apr 2015 20:25:24 GMT
< Connection: keep-alive
< Content-Length: 177
<
{
  "providers" : [
    {
    "provider" : "cd1",
    "host" : "acme.cdn1.net"
    },
    {
    "provider" : "cdn2",
    "host" : "foo.cdn2.net"
    }
  ]
}
<!--NeedCopy-->

此方法允许您使用 CMS 集成从 Openmix 中提取决策,同时为最终用户获得 Geo 和 ISP 路由优化的好处。然后,从 Openmix 返回的主机名将打包到响应中,例如视频清单文件,并由 CMS 返回给客户端。然后,客户端将使用优化的决策,无需任何修改即可支持 Openmix 优化。

Openmix应用

Openmix 快速入门应用程序是负载平衡和流量管理应用程序,可根据一组规则为最佳供应商提供实时流量路由。

对 Openmix 发出的每个请求都会处理这些应用程序,并根据指定的逻辑做出路由决策。对于一种具有较高业务价值的内容,客户可能有一个应用程序,对于价值较小且必须以不同方式路由的内容,客户可能有另一个应用程序。

调用应用程序时,系统会做出决策,即向 Citrix 的负载均衡器之一发送单个请求。对于 DNS,它是向 DNS 负载均衡器发出的单个 DNS 请求。对于 HTTP,它是对 Openmix HTTP 端点的 GET 或 HEAD 请求。

以下应用程序当前可通过 Intelligent Traffic Management 门户获得。

  • 静态路由
  • 故障转移
  • 轮询
  • 最佳往返时间 (ORTT)
  • 吞吐量

专门的 Openmix 服务器使用 Openmix 自定义 JavaScript 应用程序来响应 DNS 或 HTTP 请求,基于脚本中的逻辑。脚本的部署是通过配置和发布应用程序的客户门户完成的。有关创建自己的 JavaScript 脚本功能的更多信息,请参阅我们的信息开发者交易所

在设置应用程序之前,了解以下概念非常重要:

可用性阈值

可用性阈值是平台在路由时必须达到的最低可用性分数。所有应用程序的默认最低可用性阈值为 80%。但是,您可以修改此百分比并将其设置为适合您的位置、网络可用性和可靠性的值。

注意: 如果没有平台满足此最低可用性阈值(默认值为 80%,或您设置的值),则会对循环、ORTT 和吞吐量应用程序执行随机路由。

回退

如果 Openmix 应用程序因任何原因无法成功运行,则返回回回退响应。或者,如果Sonar确认没有可用的平台。因此,必须指定一个有效的回退 CNAME/A/AAAA 记录或 IP(或 HTTP 中的路径),以便 Openmix 可以响应。此回退 URL 或别名记录可能是也可能不是在 Openmix 中预先配置的平台。在以下情况下,有时也会发生 回退:

  • 当应用程序的版本之间进行切换时,也就是说,当您上传和发布新脚本时,它可能会导致(但并不总是)短暂(毫秒)的回退时间段,因为新脚本在删除旧脚本后正在初始化。
  • 如果出现过载(很少发生),Openmix 会使用后备 CNAME/A/AAA 响应,因为回退会偏移服务上的负载。

对于回退,必须在 DNS 中输入有效的主机名(CNAME/A/AAAA 记录)或 IP 地址,并在 HTTP 中输入有效的 URI(可以是以下格式:scheme:[//主机[: 端口]][/路径][?query][#fragment])。

TTL

在 Openmix 中,应用程序的 DNS 生存时间 (TTL) 告诉解析者在再次询问 Openmix 之前,他们必须保持决策多长时间。 TTL 用于:

控制 Openmix 应用获取的流量,并 控制应用对其操作的数据变化的敏感程度。 默认 TTL 为 20 秒。虽然您可以修改此值,但不建议这样做。如果降低 TTL,则会获得更多的容量和更多的实时 DNS 查询。但这可能会导致成本增加和性能降低(因为 DNS 查询需要客户端上的时间)。因此,最好不要更改 TTL 的默认值。

注意: TTL 适用于快速入门应用程序,如果代码中未指定 TTL,则适用于自定义 JS 应用程序,以及所有回退响应

重量(用于循环)

您可以为全球和/或市场或国家/地区的每个平台的优先级和选择分配权重。

例如,假设您为您的应用程序选择了三个平台-P1、P2 和 P3。你给他们的权重:分别为 60,50 和 10。循环应用程序将这些值转换为百分比,以便 P1= 50%,P2= 42% 和 P3= 8%(现在加起来为 100%)。这意味着大约 50% 的时间,用户将通过 P1 进行路由;大约 42% 的时间通过 P2 进行路由;大约 8% 的时间通过 P3 进行路由。

您给平台的权重不必加起来 100。它们可以是介于 0 到 100 万之间的任何整数。当转换为百分比时给平台的权重 (由应用程序在后端), 将加起来为 100% . 如果所有选定的平台都具有相同的权重,那么随着时间的推移,流量将在它们之间均匀分布。如果你只有一个平台,那么这个平台将 100% 的时间使用,无论你给它的重量如何。

权重仅用于根据Radar和Sonar可用性检查被认为可用的平台,具体取决于应用程序的配置。不 可用的平台会导致分布与配置的权重不匹配。例如,如果 P1 为加权 100,P2 为加权 0,但 P1 未通过Radar可用性检查,则所有流量都会发送到 P2。

障碍(用于 ORTT 和吞吐量)

障碍 是一个百分比值,可应用于平台,以修改 RTT 和吞吐量的Radar分数,即人为地增加响应时间(以毫秒为单位)或降低吞吐量(以 kbps 为单位)。增加或减少这些值会降低平台的性能,从而降低平台被拾取的可能性。障碍可以添加到全球平台,也可以针对特定市场和/或国家单独添加。例如,一个平台 很昂贵(可能在特定市场/国家/地区),并且当等效提供商在性能方面足够接近时,它很有用。因此,您输入了一个让步值(百分比),作为乘数来增加响应时间的值或减少吞吐量的值,从而降低了该平台被拾取的概率。

这大致是 让盘 在后端的工作方式:

  • 平台 RTT 应用障碍 = RTT(往返时间以毫秒为单位)*(1 + 障碍)或
  • 应用障碍的平台吞吐量 =(吞吐量以 kbps 为单位)*(1-障碍)

注意: 平台的 RTT 和吞吐量值是来自Radar数据的分数。 下表显示了障碍如何影响两个平台-P1 和 P2。以及障碍如何降低 P1 被挑选的可能性。

  P1 P2
无障碍 RTT 50 毫秒 60 毫秒
对于 P1,带 50% (0.5) 障碍的 RTT,对于 P2,则为 0% (0) 50(1+0.5)= 75 毫秒 60(1+0)= 60 毫秒
无障碍吞吐量 3000 kbps 2800 kbps
对于 P1,带 50% (0.5) 障碍的吞吐量,对于 P2,则为 0% (0) 3000(1-0.5)= 1500 kbps 2800(1- 0)= 2800 kbps

筛选、排名和选择工作流

吞吐量应用程序示例流程图

示例流程图

平台选择标准

Openmix 快速入门应用程序使用以下标准作为一级、二级和三级筛选器来排名和选择最佳平台。

过滤级别 甄选标准 ORTT 吞吐量 轮询机制 故障转移 静态路由
第一级 Sonar可用性检查(如果启用) X X X X X
第二级 Radar可用性检查(如果启用) X X X X X
第三级 权重(用户定义) 不适用 不适用 X 不适用 不适用
第三级 往返时间(以毫秒为单位) X 不适用 不适用 不适用 不适用
第三级 吞吐量(以千位/秒为单位) 不适用 X 不适用 不适用 不适用

原因代码报告

原因代码是一种提供可见性的方式,了解应用程序为何做出决定,并且知道应用程序代码的哪些部分被执行。在执行过程中,应用程序可以随时向原因代码字段添加某些内容。 原因代码意味着每个快速入门应用程序不同的东西。每个应用程序的原因代码之间可能有一些共同之处,但它并不全面。

注意:要正确显示原因代码,它们不得超过 200 个字符的最大字符限制。如果超过此限制,原因代码将显示为 未知。显示 未知 的另一个原因是如果用户没有添加原因代码。

以下是快速入门应用程序的原因代码:

应用程序 原因代码 逻辑  
静态路由 由静态应用程序路由 始终选择一个指定的平台。  
轮询 利用Radar可用性通过加权循环路由 首先选择满足可用性阈值的所有平台。在这些平台上,应用循环分配方法。例如,如果平台 P1、P2 和 P3 满足可用性阈值,则第一个请求路由到 P1、次路由到 P2、第三个路由到 P3、第四个路由到 P1,依此类推。  
    由于重量为零,路由到后备 如果所有平台都被赋予零权重,则返回回退。例如,如果中国的所有平台都设置为零权重,而 DNS/HTTP 请求来自中国,则由于重量为零,所有平台都不符合选择条件。在这种情况下返回后备。
    按加权循环路由 基于循环分配方法路由。此处没有指定可用性阈值,因此基于可用性的第一级筛选不会发生。
    由于数据不足,随机路由 Radar分数不可用。结果是随机选择一个平台。
ORTT 基于Radar HTTP 可用性数据的路由 首先选择满足可用性阈值的所有平台。在这些平台中,选择了 RTT 值最低的平台。  
    由于Sonar可用性,路由到后备 Sonar说,平台已经关闭,因此它被路由到后备。
    路由到回退没有可用平台 应用程序中指定的任何平台都没有Radar可用性阈值或高于可用性阈值。
    由于数据不足,随机路由 Radar分数不可用。结果是随机选择一个平台。
吞吐量 基于 Radar http_kbps 和可用性的路由 首先选择满足可用性阈值的所有平台。在这些平台中,选择了 http_kbps 吞吐量最高的平台。  
    基于 Radar http_kbps 数据的路由 选择在 http_kbps 的情况下具有最高吞吐量的平台。
    由于数据不足,随机路由 Radar分数不可用。结果是随机选择一个平台。

开放式快速入门应用程序

  1. 登录到 Intelligent Traffic Management 门户。
  2. 从左侧导航菜单中,导航至 Openmix > 应用程序配置
  3. 如果您首次配置您的 Openmix 应用程序,则单击 Openmix > 应用程序配置 时会看 到“入门”页面。
  4. 要配置新应用程序,请单击页面右上角的“开始”按钮或“添加”按钮。如果之前已配置过 Openmix 应用程序,您将在此页面上看到应用程序列表。

以下部分将向您介绍在门户中配置 Openmix 应用程序的过程。

静态路由

此类应用程序不使用任何评估逻辑来决定必须向最终用户提供哪些 DNS 响应。应用程序始终在此选择由用户指定的单个平台。因此,应用程序只使用单个 DNS 别名记录或 IP 地址响应。 静态路由应用程序可以通过“应用程 序配置”页面上的门户进行配置

注意:在配置应用程序之前,请确保首先配置了您的平台。请参阅平台页面了解平台配置。

导航

  1. 导航到 Openmix > 应用程序配置
  2. 点击右上角的“添加”按钮

此时将打开“基本信息”对话框。

基本信息

请按照以下步骤输入 基本信息

  1. 对于 协议,请从列表中选择 DNS 或 HTTP。
  2. 对于 应用程序类型,选择静态路由。或者,如果您正在配置其他类型的应用程序,请从列表中选择它。
  3. 为应用程序指定 名称 (必填字段);添加 描述 (可选字段)和 标签 (可选字段)。
  4. 单击下一步进行配置

配置

要配置应用程序,请执行以下操作:

  1. 从平台列表中选择关联的 平台 。这是您在平台页面中设置的平台,代表 CDN、云或数据中心。
  2. 输入 CNAME/A/AAAA 记录(用于 DNS)或 URL(用于 HTTP)。所选平台的 DNS 别名记录或 HTTP URL 必须指向有效的 IP 地址或主机名。
  3. 对于 CORS,(在 HTTP 协议中)为 CORS 选择“无”、“全部”或“自定义”。CORS 允许您控制从其他站点访问您的站点。您可以完全限制从其他站点访问您的站点(通过单击“”),允许从所有其他站点访问(单击“全部”),或者仅允许从特定站点访问(单击“自定义”)。
  4. 输入响应的 TTL (生存时间)。默认值为 20 秒,但可以覆盖。
  5. 点击 完成
  6. 在确认弹出窗口中,单击“完成”或“发布”,查看 Openmix 应用程序页面中列出的应用程序。如果您单击“发布”,您的应用即时上线并具有绿色状态。这意味着应用程序正在生产中。如果您单击“完成”,您的应用仍会在应用程序页面上列出,但它将被取消发布,并且状态将为红色。

故障转移

故障转移应用程序支持简单的路由逻辑,其中根据平台在线位置和可用性选择平台。客户可以创建一个故障转移链,用于决定要选择哪个平台第一个平台、第二个平台等。可以创建此故障转移链,以便在全球范围内工作和/或针对个别市场和国家/地区。

可以在“应用程序 配置”页面上的门户内配置 故障转移 应用程序

注意:在配置应用程序之前,请确保先配置平台。有关平台配置,请参阅平台页面。

导航

  1. 登录到门户网站。
  2. 从左侧导航菜单中,导航至 Openmix > 应用程序配置
  3. 单击右上角的“添加”按钮,进入“新建 Openmix 应用程序, 基本信息”对话框。

基本信息

  1. 议列表中选择 DNS
  2. 应用程序类型 列表中,选择 故障转移
  3. 为应用程序指定 名称 (必填字段);添加 描述 (可选字段)和 标签 (可选字段)。
  4. 完成后,单击“下一步”。

故障转移基本信息

配置

  1. 在“配置”对话框中,选中“可用性阈值”复选框。可用性阈值的默认值为 80%。这意味着平台的可用性得分必须至少与此阈值一样高才能用于路由。
    • 如果要修改默认可用性阈值,只需输入一个新值来替换默认值。
    • 如果没有平台的可用性评分等于或大于指定阈值,则使用回退(CNAME/A/AAAA 或 IP 地址)。
    • 如果该复选框未选中,则平台将采用零可用性阈值。这意味着在此平台上不会进行Radar可用性检查。
  2. 输入 用的 CNAME/A/AAAA 或 IP 地址。如果应用程序遇到问题或错误,通常使用回退 CNAME/A/AAAA 或 IP。
  3. 输入响应的 TTL (生存时间)。默认值为 20 秒。如有必要,您可以覆盖此值。

故障转移配置

平台信息

  1. 在“平 台信息”对话框中,从列表中选择一个 平台
    • 您可以使用“添加平台”按钮选择多个平台 。这个想法是选择适用于全球和地理(市场和国家/地区)路由的所有可用平台。
    • 此列表中的平台是您在平台页面(门户内)中设置的平台,代表您的 CDN、云或数据中心。
    • 所有 Openmix 应用程序都需要事先设置一个关联的平台。如果在列表中找不到平台,则可以在门户的平台页面中设置该平台。
  2. 输入平台的 CNAME/A/AAAA 记录。
  3. 在移动到下一步之前,确保 选中“已启用”复选框(表示平台已启用)。
  4. 如果已配置 Sonar ,并且您希望在初始决策过程中使用Sonar数据帮助,请确保单击“使用Sonar获取平台可用性”复选框。注意:仅当为该平台启用Sonar时,才会显示Sonar复选框。
  5. 点击“下一步”进行 位置配置

位置配置

  1. 在“位 置配置”对话框中,选择 全局 路由所需的平台。
    • Global 表示您正在为全局路由设置一系列平台。
    • 在“全局”字段内单击时,一个列表将显示您在“平台 信息”步骤中选择的所有平台
    • 从列表中选择基于可用性的全局路由所需的平台。
    • 您在此字段中放置平台名称的顺序决定了它们的选择优先级,即它们将根据可用性从头到尾选择。例如,如果列表中的第一个平台不可用,则会选择第二个平台,依此类推。如果列表中的任何平台都不可用,则使用回退。
    • 您可以拖动平台名称来更改其优先级顺序。
  2. 如果您想为本地地理路由设置平台,请点击 市场和国家/ 地区。
    • 当您在“市场和国家/ 地区”字段中单击时,该列表会显示您在“平台 信息”步骤中选择的所有平台
    • 为每个地理位置(市场/国家/地区)分别选择本地地理位置路由平台。
    • 您在此字段中放置平台名称的顺序决定了它们的选择优先级,即它们将根据可用性从头到尾选择。例如,在中国,您可能希望首先使用中国 POP,并且只有在不可用的情况下,您才希望使用新加坡 POP,然后将其放在排列中,等等。
    • 您可以拖动平台名称来更改其优先级顺序。

    故障转移位置信息

  3. 单击“成”,完成应用配置。
  4. 在确认弹出窗口中,单击 完成发布 以查看 Openmix 页面上列出的应用程序。
    • 如果您单击“发布”,您的应用即时上线并具有绿色状态。这意味着应用程序正在生产中。
    • 如果您单击“完成”,您的应用仍会在 Openmix 页面上列出,但它未发布,状态将为红色。

轮询

此应用程序遵循循循环的典型全局服务器负载平衡方法,在发出 DNS 请求时,每个 CNAME 交替返回给最终用户。它使用Sonar数据(如果启用了Sonar)和 平台可用性 阈值来评估请求用户的最佳平台。每个平台都是根据循环分配方法选择的。例如,如果平台 P1、P2 和 P3 满足可用性阈值,则第一个请求路由到 P1、次路由到 P2、第三个路由到 P3、第四个路由到 P1,依此类推。

要配置新的循环应用程序,请单击 Openmix 页面右上角的 添加 按钮。此时将打开“基本信息”对话框。

导航

  1. 登录到门户网站。
  2. 从左侧导航菜单中,导航至 Openmix > 应用程序配置。
  3. 单击右上角的“添加”按钮,进入“新建 Openmix 应用程序, 基本信息”对话框。

基本信息

  1. 在“基本信息”对话框中,选择“DNS”作为循环协议。注意:对于循环应用程序,路由只能通过 DNS 别名记录进行。
  2. 从列表中选择 应用程序类型 。为应用程序指定 名称 (必填字段)、 描述 (可选字段)和 标签 (可选字段)。
  3. 单击“下一步”进行配置。

配置

  1. 可用性阈 值的默认值为 80%。要修改此值,只需输入一个新值来替换默认值。
  2. 输入备用的 CNAME/A/AAAA 或 IP 地址。如果应用程序遇到问题或错误,通常使用回退 CNAME/A/AAAA 或 IP。
  3. 输入响应的 TTL(生存时间)。默认值为 20 秒,但如有必要,可覆盖此值。
  4. 点击“下一步”获取平台信息。

平台信息

  1. 从平台列表中选择一个 平台注意:所有 Openmix 应用都需要事先设置相关的平台。如果在列表中找不到平台,则可以在门户的平台页面中设置该平台。
  2. 点击“添加平台”按钮,选择更多平台
  3. 为此平台输入别名记录或 A/AAAA 记录或 IP(在 DNS 中)或 URL(在 HTTP 中)。它必须是有效的 URL、主机名或 IP 地址。它可以是形式:方案:[//主机[: 端口]][/路径][?query][#fragment]。
  4. 在移动到下一步之前,确保 选中“已启用”复选框(表示平台已启用)。
  5. 如果Sonar可用,并且您希望在初始决策过程中使用Sonar数据来帮助您确保单击“使用Sonar获得平台可用性”复选框。
  6. 单击“保存”以转到步骤 4,为每个平台分配适当的权重。

位置配置

  1. 为全球和/或市场或国家/地区的每个平台的优先级和选择分配 权重
  2. 要为市场或国家分配平台权重,请在市场和国家/地区搜索框中输入名称,然后从列表中进行选择。
  3. 单击“完成”以创建您的应用程序。
  4. 在确认弹出窗口中,单击 完成发布 以查看 Openmix 页面上列出的应用程序。如果您单击“发布”,您的应用即时上线并具有绿色状态。这意味着应用程序正在生产中。如果您单击“完成”,您的应用仍会在 Openmix 页面上列出,但它未发布,其状态将为红色。

最佳往返时间 (ORTT) 应用程序

ORTT 应用程序使用Radar响应时间、Sonar数据(如果启用了Sonar)和平台可用性阈值来评估请求用户的最佳平台。可用性阈值是平台必须达到的最低可用性(80% 是默认值)才能被挑选。此外,ORTT 应用还使用可以包含在全球和/或本地(针对特定市场或国家/地区)的盘点值,以允许客户影响最终用户的路由方式。

前三个步骤(基本信息、配置和平台信息)的输入方式与其他应用程序相同。

按照以下步骤配置位置信息,并为每个平台、全球或按位置/市场输入 数值。

位置配置

  1. 在“位 置配置”对话框中,为选定的一个或所有平台输入 让分盘 值。您可以输入介于 0 到 6000 之间的让分值。使用障碍是手动降低特定平台被选择进行路由的几率,当有更好的平台可用时,例如在成本或便利性方面。让分值越多,平台被挑选的几率就越小。如果需要,您可以通过关闭平台选择按钮来取消 选择平台

  2. 点击 市场和国家/ 地区,从列表中选择特定市场或国家/地区,并为每个相关平台分别输入 分值。

  3. 单击“成”,完成应用配置。

  4. 在确认弹出窗口中,单击“完成”或“发布”,查看 Openmix 应用程序列表页面上列出的应用程序。如果您单击“发布”,您的应用即时上线并具有绿色状态。这意味着应用程序正在生产中。如果您单击“完成”,您的应用仍会在“应用程序”页面上列出,但它未发布,并且其状态将为红色。

吞吐量

吞吐量 应用程序根据Sonar数据(如果启用了Sonar)、最高吞吐量(使用Radar数据)和平台可用性阈值(默认情况下为 80%)来选择平台。此外,此应用程序允许您添加一个 Cicps 值,以降低特定平台的吞吐量,并影响终端用户的路由方式。这个可选的让盘值可以在全球和/或本地分配(针对特定市场或国家/地区)。

前三个步骤( 基本信息、配置和平台信息)的输入方式与其他应用程序相同。位 置配置 的输入方式与 ORTT 应用程序相同。

完成后,单击“完成”返回到 Openmix 应用程序列表页面。最后,单击“ 布”以在准备好上线时发布应用程序。

应用程序状态

应用程序的状态显示其当前配置。

  • 红色代表未发表的。当您完成配置时,如果您单击“成”,您的应用程序会在应用程序页面中显示红点,表示它尚未发布。
  • 绿色代表出版。如果您单击“发布”,您的应用即时上线,并以绿点表示该应用程序正在生产中。
  • 黄色代表最新版本未发布。黄点表示应用程序已创建和编辑,上次修改的设置尚未发布。

管理快速入门应用程序

您可以管理 Openmix 应用程序(编辑、复制、删除和测试);还可以使用应用程序管理器面板中的顶部选项卡查看报表、查看源代码和查看应用程序的版本历史记录。在 Openmix 应用程序列表页面中单击您的应用程序以展开应用程序管理器。

管理Openmix应用程序

查看报告

查看报告 将带您进入 Openmix 决策报告页面,您可以在该页面查看 Openmix 针对每个应用程序、平台和地理区域的决策趋势。

编辑

要编辑您的 Openmix 应用程序,只需单击应用程序管理器面板顶部的“编辑”图标即可。您还可以单击面板中的“编辑”按钮,单独执行基本信息、配置、平台或位置信息的单独 编辑 ,如图所示。完成编辑后,单击“成”,以列出处于未发布状态的应用程序(以便稍后进行更多编辑),或单击“发布”即可立即上线。

重复

单击“ 制”复制当前应用程序的配置并使用新名称保存。

删除

单击“删除”,删除您不再需要的应用程序。

发布

单击“发布”可直接从 Openmix 应用程序管理器发布应用程序。仅当应用尚未发布时,此选项才可见。


Openmix定制 JavaScript 应用程序

Openmix JavaScript 应用程序是具有完全可定制的 Java 脚本的应用程序,您可以在 ITM (Intelligent Traffic Management) 门户中使用 UI 创建、配置、测试和发布这些脚本。

注意:本指南不涵盖自定义脚本的实际创建(语法、变量等)。有关创建自定义 JavaS抄本的更多信息,请参阅开发者交易所

导航

  1. 登录 ITM 门户。
  2. 从左侧导航菜单中,转到 Openmix
  3. 选择 应用程序配置
  4. 要配置新的 Openmix 应用程序,请单击右上角的添加图标。
  5. 选择 自定义 JS 应用程序
  6. 打开 Openmix 应用程序配置 页面。

添加自定义 JS 应用程序

基本信息

  1. 应用程序名称:为您的应用程序指定一个名称。
  2. 描述: 在此处为应用程序提供描述或添加发行说明。这是一个可选字段。
  3. 标签:如有必要,输入适当的标签。标签有助于识别和组织您的应用程序。 这是一个可选字段。

  4. 协议:选择 DNS 或 HTTP 作为协议。
    • DNS:如果选择 DNS,则必须输入 TTL 值。
    • HTTP:如果选择 HTTP,则可以选择启用 安全访问
  5. TTL:输入应用程序的 DNS 生效时间。推荐值为 20 秒。注意:如果自定义 JS 应用程序没有设置 TTL,或者如果响应是回退值,则此 TTL 将适用。
  6. 回退:为回 退输入 CNAME/A/AAAA 或 IP 地址。如果应用程序遇到问题或错误,通常使用回退 CNAME/A/AAAA 或 IP。

  7. 安全访问:如果启用了 安全访问,则 HTTP API 在调用时必须要求客户端提供 Oauth 访问密钥。请参阅以了保护 Openmix HTTP API解更多信息。

    注意:启用安全访问后,Openmix 首页的应用列表中的应用名称旁边会显示一个锁定图标。

基本信息

自定义 JavaScript

输入配置信息后,您可以上传您的自定义 JavaScript。

  1. 单击选 择文件 按钮,然后选择要上传的 JavaScript 文件。您可以随时上传新文件以覆盖现有文件。

  2. 单击“保存并测试”以保存您的应用程序。

    注意:在上传和保存应用程序时,应用程序会自动使用应用程序检查器进行测试。如果存在错误,应用程序检查器会显示错误信息和错误的位置。有关应用程序检查器提供的数据的详细信息,请参阅该应用程序验证部分。

    发布

  3. 单击 取消 返回 Openmix 应用程序页面,或单击 发布 ,如果您已准备好应用程序启动。

    注意:如果您单击“发布”,您的应用将立即上线并具有绿色状态。这意味着应用程序正在生产中。

    如果您单击“取消”,您的应用将列在应用程序页面上,但将被取消发布,并且状态将为红色。要了解有关状态的更多信息,请参阅应用程序状态部分。

发布

分阶段应用程序推出

您可以通过一个新版本(有时称为 Canary 部署)发送一小部分 Web 流量来管理应用程序的推出。ITM 允许您将指定百分比的流量发送到应用的最新版本,以确保应用程序逻辑按预期运行。您可以报告现有版本和新版本的行为,以评估实时环境中对应用程序的更改。这样,您就可以修复在通过新编辑的应用程序路由 100% 的 Web 流量之前可能发生的任何问题或异常。 验证所需行为后,您可以增加到最新版本的流量百分比或将应用程序部署到所有用户。

要暂存应用程序部署并发布新修改的应用程序的测试版本,请执行以下操作:

  • 单击应用程序名称(在 Openmix 应用程序列表页面中)。此时将打开应用程序管理器面板。
  • 单击编 图标以编辑您的应用程序。
  • 通过所有必要的更改修改您现有的应用程序。
  • 完成编辑后,单击“保存并测试”。
  • 使用“取消”和“发布”按钮向下滚动到页面底部的水平面板。输入您希望通过此新修改版本流量的百分比(1% 到 99%)。
  • 选中该复选框以了解通过此新版本的应用程序部分分配的流量,其余流量将发送到以前的实时版本。
  • 点击 发布。这个新的测试版本的应用程序现在将显示在 Openmix 配置 页面的应用程序列表中,并带有一个新的 状态 图标。新的 S tatus 图标表示只有部分网络流量通过此版本实时流动。

您可以进一步修改流量流量到测试版本,并通过更改流量百分比查看性能。 金丝雀

要查看应用程序的性能,请转到 Openmix 决策报告。选择 应用程序 作为主维度,选择 版本 作为辅助维度。然后从列表中选择应 用程序后,单击应用筛 选器。图表显示了不同版本的应用程序的性能。

一旦您对此版本的应用程序的性能感到满意,您可以通过点击“上线”按钮继续路由 100% 的网络流量。

金丝雀

这会将当前实时版本替换为新编辑的版本。

如果您不想使用此版本,请单击 取消发布。您的更改将保存并显示为未发布的应用程序在 Openmix 配置 页面的应用程序列表中。现在,您的网络流量 100% 流通过当前的实时版本的应用程序流动。

测试

您可以在发布之前或之后使用 测试应用程序 按钮测试您的 JavaScript 应用程序。

测试

它允许您查看特定市场、国家、地区和州的测试结果。您还可以选择从特定 IP 地址查询应用程序。

测试结果包括:应用程序选择的 平台 、收到的 响应原因代码原因日志Radar分数、分布

此功能还允许您查看决策在不同平台之间的分布。例如,如果使用两个平台进行路由,您可以查看决策的数量(原始计数和百分比)以及每个平台收到的响应。

单击“显示所有详细信息”链接以查看应用程序的测试结果。

测试详情

以下值显示为测试结果:

字段 说明
市场、国家、地区和州 测试应用程序的位置。
平台 应用程序选择的平台。
回应 应用程序选择的平台的 CNAME 或 IP 地址。
原因代码 描述决策背后的原因。
原因日志 客户定义的应用输出。 使客户能够记录有关应用程序决策的信息。
Radar分数 为平台记录的 响应时间 (RTT)可用性吞吐量测量值。
分配 应用程序为测试的每个位置选择的平台分布。C ount 表示选择平台的次数。百分比 是平台选择总计数的百分比。

注意:您可以在实时应用程序或未发布版本(即,如果应用程序尚未发布)上运行此测试。

发布您的应用程序后,您可以通过单击“测试实时应用程序”选项来测 试实时应用程序 。如果您编辑应用或上传新版本,您可以通过单击“测试 未发布的应用”按钮在发布之前对其进行测试

测试实时应用程序

应用程序验证

为了确保自定义 JavaScript 应用按预期运行,应用程序在上传到 ITM Portal 时通过代码和逻辑验证程序运行。应用程序验证程序通过具有合成流量的决策服务器运行应用程序,以测试应用程序是否编译和运行成功。

如果应用程序运行时没有错误,验证程序将提供有关决策分布和执行特征的信息。另一方面,如果决策服务器在运行应用程序时遇到错误,验证程序将提供有关错误的信息。我们建议应用程序在发布之前没有错误。

如果出现错误,您可以修复本地中的 JavaScript 文件,并通过单击“选择文件”按钮将其重新上传到门户。

发布

要发布您的应用并使其上线,请单击“发 ”按钮。如果应用程序尚未保存或已发布,则此选项将显示为灰色。当应用上线时,它将显示在 Openmix 应用程序管理器页面中为绿色状态。要了解有关应用程序状态的更多信息,请参阅应用程序状态部分。

发布

注意:如有必要,应用程序可能会发布错误。

管理自定义 JavaScript 应用程序

您可以使用应用程序管理器面板中的顶部选项卡管理 Openmix 应用程序(即查看报表、编辑、复制、删除、发布、查看源代码、查看实时版本、查看历史记录和测试)。

在 Openmix 应用程序列表页面中单击您的应用程序以展开应用程序管理器面板。

管理权限

查看报告

查看报告 将您转到 Openmix 决策报 告页面,您可以在该页面查看每个应用、平台和地理位置的 Openmix 决策趋势。

编辑

要编辑 Openmix 自定义 JavaScript 应用程序,请单击应用程序名称(在 Openmix 应用程序列表页面中)。此 时将打开应用程序管理器面板。可以通过单击“编辑”图标对配置进行更改和更新。

编辑

查看源代码

查看源代码 允许您查看应用程序的 JavaScript 源代码,即应用程序的最新版本是否已发布。此选项仅适用于自定义 JavaScript 应用程序。

查看实时版本

您可以使用此选项查看、复制和下载应用程序的最新发布版本。这仅适用于自定义 JavaScript 应用程序。

活下去

应用历史记录

应用程序历史记录 允许您查看应用程序的不同版本。 您可以使用“选择版本”列表从实时版本切换到旧版本。单击“获取内容”以切换到旧版本。此选项仅适用于自定义 JavaScript 应用程序。

历史记录

比较

功能允许您比较不同版本的 JavaScript 文件。您可以看到两个版本的应用程序之间的差异,以高亮显示的脚本行清晰显示。

比较

删除

要删除一个 Openmix 应用程序,请单击应用程序名称(在 Openmix 应用程序列表页面中)。此 时将打开应用程序管理器面板。单击“删除”图标,然后在确认对话框中选择“删除”按钮。该应用程序从列表中消失。

恢复应用程序

恢复应用程序 功能允许您在删除应用程序后重新启用应用程序。 要恢复应用程序,请执行以下操作:

  1. 单击页面右上角的“添加 +”图标。
  2. 从下拉菜单中选择 恢复应用程序 。此时将打开“还原应用程序”窗口。

    恢复应用程序

  3. 从列表中找到要重新启用的应用,然后单击相应的“还原”按钮。

这将使应用程序重新回到 Openmix 页面的列表中,状态与删除之前的状态相同。

保护 Openmix HTTP API

Openmix 可通过 DNS 或 HTTP API 进行集成到非 DNS 工作流程中。默认情况下,HTTP API 是通过普通 HTTP 调用的。API 也可以通过 TLS 和密钥身份验证来保护。通过选中“要求安全 API 访问 (HTTPS)”复选框,可以通过 UI 完成此操作。

安全访问

创建 API 密钥

要启用密钥身份验证,请执行以下操作。

  1. 通过选中 Openmix 应用程序配置页面中的“要求安全 API 访问 (HTTPS)”框,为每个应用程序打开 安全访问。

  2. 要生成安全访问密钥,请导航到我的帐户 -> API -> Openmix HTTP API 密钥

    Openmix HTTP API 密钥

  3. 如果您是第一次使用的用户,系统会提示您通过输入客户端 ID 开始使用。在“新建客户端”对话框中输入您的客户端ID,然后单击“完成”。
  4. 客户端密 钥现在将显示在 Openmix HTTP API 身份验证配置 页面上的 客户端 ID 旁边。

  5. 现在,您可以使用基本身份验证向 Openmix 应用程序发出请求。在浏览器上调用应用程序时,使用客户 端 ID作为用户名,并使用客户端密钥 作为密码。

    或者,如果您使用命令行调用应用程序,请使用此 cURL 命令-

    curl https://hopx.cedexis.com/zones/<zone>/customers/<customer_id>/apps/<app_id>/decision --user <client_key>:<client_secret>
    <!--NeedCopy-->
    

注意:您创建的密钥将允许您访问任何 Openmix 应用程序。

有关调用 Openmix HTTP API 的更多信息,请参阅开放式 HTTP API 使用文档

删除 API 密钥

  1. 要删除密钥,请导航到 Openmix HTTP API 身份验证配置 页面。
  2. 点击 客户端 ID
  3. 在列表中选择“删除”。密钥将从系统中删除,对于 Openmix 应用程序的身份验证安全访问将不再有效。

访问日志

可以收集 Openmix 做出的决策日志并提供安全下载。这些日志可以帮助您分析 Openmix 应用程序所做的决策和调试请求行为。日志可以在帐户级别打开/关闭并保护。有关如何启用和下载 Openmix 日志的详细信息,请访问网镜

网镜Openmix

Openmix 报告

Openmix 报告为您的 DNS 或 HTTP 流量所做的 Openmix 决策提供了强大的可见性。每份报告的定义如下,但以下是所有报告的一些重要方面:

主要和次要尺寸

尺寸

图表的主要维度通过图表上方的列表选择列表进行选择。将其用作报表上的强大枢轴。还可以选择一个次要层面来进一步完善报告。

可视化背景切换

背景切换

默认情况下,图表设置为白色背景。使用背景切换将高对比度显示器的背景切换为深色。

数据导出

数据导出

此外,最终用户可以通过报告顶部的下载链接下载图表和表格数据。

筛选器:报告时间范围

时间范围

可以生成报告的时间范围为最近 60 分钟、最近 24 小时、最近 48 小时、最近 7 天、最近 30 天或自定义范围。默认视图为“最近 24 小时”。

过滤器:强大的向下钻取功能

过滤器

这些报告在哪些筛选器基于数据是适当的方面略有不同。以下是最常见的:

  • 统计数据 -选择图表中显示的值,最常见的是决策数。
  • 流量源 — 选择要显示的流量类型:DNS 或 HTTP。
  • 应用程序 — 选择要显示的一个或多个 Openmix 应用程序。
  • — 选择要包括的一个或多个平台(提供商)。
  • — 选择要包括的一个或多个大陆。
  • 国家/地区 — 选择要包括的一个或多个国家/地区。
  • 区域 — 选择要包括的一个或多个地理区域(如果适用)。
  • — 选择要包括的一个或多个地理州(如果适用)。
  • 网络 — 选择要包括的一个或多个网络 (ASN)。

福利报告

当您使用 Intelligent Traffic Management (ITM) 服务时,“优势”报告将为您提供应用程序交付性能的总体改进情况。其优势表现为通过从候选平台池中选择特定平台,在响应时间和吞吐量方面提高百分比。

福利报告的主要维度

主维度是基于其显示福利报告的独立度量。以下各节详细介绍了这些主要维度。

福利报告主要维度

摘要

摘要 是默认的主维度。汇总图显示了从所有应用程序获得的总收益百分比的平均值(响应时间或吞吐量)。

注意:您可以使用 统计过滤器在 响应时间或 吞吐量方面显示的好处之间进行切换。

福利报告摘要

应用程序

当选择应用 程序 作为主要维度时,图表将显示每个应用程序和相应的性能(在响应时间或吞吐量方面),作为选择某个平台而不是其他候选平台的百分比优势。

注意:0% 表示通过选择特定平台而不是另一个平台,该应用程序所做的决策没有额外的好处或改进。

按应用程序分列的福利报告

位置(大陆、国家、地区、州)

当选择位置(大陆国家/地区、地区)作为主维度时,福利报告将显示每个位置的性能总改善百分比(响应时间或吞吐量)的平均值。您可以按大陆、国家、地区或州选择位置。

注意:由于地理位置规则或任何其他原因而不符合选择条件的平台将不会计入计算中。但是,将对相关位置进行地理围栏的平台进行计算。

按地点分列的福利报告

网络

当您选择“网络”作为主维度时,您会看到分组到用户访问 ITM 的特定网络(或服务提供商)中的用户的性能提高百分比。这可帮助您了解哪些用户组在来自这些特定网络时看到性能优势。

按网络分列的收益报告

平台

当您选择平 作为主要维度时,您会看到不同应用程序选择的单个平台以及选择它们时相应的改进性能。提高的性能或优势在于响应时间或吞吐量(百分比)。

注意:此处显示的性能提高百分比是当应用选择该平台时。 图表上的列表不一定表示这些平台之间的性能排名。

按平台分列的收益报告

原因代码

当您选择 原因代码 作为主维度时,图表中显示的百分比是针对特定原因代码做出决策时的总体平均效益。

按原因代码分列的福利报告

在福利报告中忽略平台

为了提高您的福利报告的 Openmix 决策的准确性,您可以选择忽略某些平台,并将应用设置为仅从最适合比较的平台中进行选择。

例如,您的应用程序有五个平台需要考虑进行比较-欧洲流量 3 个,美国流量 2 个。地理规则规定,欧洲流量必须通过欧洲平台;美国流量必须通过美国平台。

因此,在计算应用程序的好处时,为了确保仅使用三个欧洲平台完成计算,您可以通过使用 JavaScript 中的ignoredProvider() 方法将该应用程序设置为忽略其他两个非欧洲平台。

该方法将提供程序的别名(例如provider-1provider-2````)作为输入参数(非常类似 RequireProvider () 方法)。每个别名必须调用 API 一次。

在函数中的 JavaScript 文件中使用此示例代onRequest 码:

function onRequest(request, response) {
  response.ignoredProvider('provider-1');
  response.ignoredProvider('provider-2');
  response.setReasonCode('Ignoring provider-1 and provider-2');
  response.setTTL(this.__defaultTTL);
  response.respond('provider-3', 'cmg.test.fake.cname');
}

决策地理位置报告

本报告显示了每个国家的 OpenMix 决定数量。通过选择图表底部的“播放”按钮,可随时间观看此地图视图(基于为报表选择的时间范围)。

决策地理位置报告

决策报告

本报告显示了 Openmix 针对每个应用程序、平台和地理位置的决策趋势。

决策报告 ```