Openmix

概述

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

GTM或GSLB工具和服务依赖于专有的、不可扩展的静态规则引擎来定义和控制一组狭窄的固定策略(例如,故障转移、循环、地理定位)。思杰ITM的使命是实现基于实时数据馈送的下一代云策略。Openmix平台提供了一种高度健壮的方法来从各种来源摄取实时数据,并将这些元数据作为环境“变量”公开,可以对每个请求进行评估。

Openmix:主要优点

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

Openmix如何工作

客户登录到Citrix ITM Portal来部署他们的第一个应用程序。一个示例应用程序库可以提供帮助开始以及一个分步向导工具,帮助使用最常见的路由逻辑创建应用程序。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委托。CNAME委托的工作原理是让客户指向其面向最终用户的主机名(在下面的示例中,www.acme.com)在一个ITM主机名上

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

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

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

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

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

acme.cdn1.net。在一个111.222.222.111 

区代表团

此外,权威DNS区域委托是实现Openmix的一个选项。客户创建DNS区域,并委托给ITM Portal中创建的Predictive DNS区域。在委托区域中创建主机名,并将其配置为使用Openmix应用程序或动态预测性DNS记录来生成响应。此选项的优点是不需要在主机名和来自ITM平台的动态响应之间进行CNAME委托。使用前面的例子,www.acme.com主机名直接解析为最优CDN、Cloud或Data Center的配置值。

www.acme.com。19在CNAME acme.cdn1.net。

也可以使用A/AAAA记录代替cname,主机名直接解析到最佳目的地的记录。

www.acme.com。19在一个111.222.222.111

DNS和Time To Live的含义

必须注意的是,必须仔细考虑诸如TTL(生存时间)值之类的因素,并为内容设置适当的时间,以及如何为用户做出决策的要求。在大多数情况下,ITM建议页面和对象内容的TTL为20秒。对于视频内容,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"}]} 

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

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"}]} 

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

Openmix应用程序

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

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

当调用应用程序时,将做出一个决定,即将单个请求发送到Citrix的负载平衡器之一。对于DNS,它是对DNS负载均衡器的单个DNS请求。对于HTTP,它是对Openmix HTTP端点的GET或HEAD请求。

智能交通管理门户网站目前提供以下应用程序:

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

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

在你开始设置应用程序之前,理解以下概念是很重要的:

可用性阈值

可用性阈值是平台必须满足的最小可用性分数,才能考虑进行路由。所有应用程序的默认最低可用性阈值为80%。但是,您可以修改这个百分比,并将其设置为适合您的位置、网络可用性和可靠性的值。

注意:如果没有平台满足这个最小可用性阈值(默认值80%,或您设置的值),则为Round Robin、ORTT和Throughput应用程序执行随机路由。

回退

如果Openmix应用程序由于某种原因没有成功运行,则返回回退响应。或者如果声纳确认没有可用的平台。因此,必须指定一个有效的备用CNAME/ a /AAAA记录或IP(或HTTP中的路径),Openmix可以使用它进行响应。此备用URL或CNAME记录可能适用于也可能不适用于Openmix中预配置的平台。后退有时也会发生在以下情况:

  • 在应用程序的不同版本之间进行切换时,即在上传和发布新脚本时,可能会导致(但并不总是)短暂(毫秒)的回退时间,因为在删除旧脚本后,正在初始化新脚本。
  • 如果出现过载(这种情况很少发生),Openmix会用回退CNAME/A/AAAA响应,因为回退会抵消服务上的负载。

对于回退,您必须在DNS中输入一个有效的主机名(CNAME/ a /AAAA记录)或IP地址,以及一个有效的URI(可以是:方案:[/ /主机[:端口]][/路径][?查询][#片段])在HTTP。

TTL

在Openmix中,应用程序的DNS生存时间(TTL)告诉解析器在再次请求Openmix之前必须保留多长时间。TTL用于:

控制Openmix应用获得的流量,控制应用对数据变化的敏感程度。缺省值为20秒。虽然您可以修改此值,但不建议这样做。如果降低TTL,您将获得更多的容量和更多的实时DNS查询。但是它可能会导致额外的成本和较低的性能(因为DNS查询需要在客户机上花费时间)。因此,最好不要修改TTL的默认值。

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

权重(用于轮询)

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

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

你给平台的重量不需要加起来等于100。可以是0到1,000,000之间的任意整数。给予平台的权重在转换为百分比时(由后端应用程序)将加起来为100%。如果所有选定的平台被赋予相同的权重,流量将随着时间的推移均匀分布在它们之间。如果你只有一个平台,那么不管你给它多大的重量,它都会被100%地使用。

权重仅用于根据雷达和声纳可用性检查被认为可用的平台,具体取决于应用程序的配置。不可用的平台会导致分布与配置的权重不匹配。例如,P1的权重为100,P2的权重为0,但P1的Radar Availability检查失败,则所有流量都被发送给P2。

障碍(用于ORTT和吞吐量)

障碍是一个百分比值,可以应用于平台来修改RTT和吞吐量的雷达分数,即人为地增加响应时间(以毫秒为单位)或减少吞吐量(以kbps为单位)。增加或减少这些值会降低平台的性能,这样它被选中的可能性就会降低。可以在全球平台上添加障碍,也可以针对特定市场和/或国家单独添加障碍。在某些情况下,例如,一个平台很昂贵(可能是在特定的市场/国家),而当等效的供应商在性能方面足够接近时,您希望减少选择该平台的可能性。因此,您可以输入一个Handicap值(以百分比表示),该值充当乘数,以增加响应时间的值或减少吞吐量的值,从而降低选择该平台的概率。

大致是这样的障碍在后端工作:

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

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

P1 P2
无障碍RTT 50毫秒 60毫秒
P1为50%(0.5)障碍,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快速入门应用程序使用以下标准作为第一,第二和第三级过滤器来排名和选择最佳平台。

过滤水平 选择标准 委员会 吞吐量 轮循 故障转移 静态路由
1级 声纳可用性检查(如果启用) X X X X X
2级 雷达可用性检查(如果启用) X X X X X
3级 权重(用户定义) NA NA X NA NA
3级 往返时间(毫秒) X NA NA NA NA
3级 吞吐量(kbps) NA X NA NA NA

原因代码报告

原因代码是一种提供可见性的方法,让我们了解应用程序为什么做出这样的决定,也知道应用程序代码的哪些部分被执行了。在执行过程中,应用程序可以随时向原因代码字段添加一些内容。每个快速入门应用程序的原因代码都有不同的含义。每个应用程序的原因代码之间可能存在一些共性,但并不全面。

请注意:为使原因码能够正确显示,原因码不能超过200个字符。如果超出此限制,则原因代码显示为未知的。另一个原因未知的如果用户没有添加原因代码,则显示。

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

应用程序 原因代码 逻辑
静态路由 由静态应用路由 总是选择一个指定的平台。
轮循 通过雷达可用性加权轮询路由 首先选择满足可用性阈值的所有平台。在这些平台上,采用了循环分配方法。例如,如果平台P1、P2和P3满足可用性阈值,则第一个请求路由到P1,第二个请求路由到P2,第三个请求路由到P3,第四个请求再次路由到P1,以此类推。
由于重量为零,路由向后倾斜 如果所有平台的权重都为零,则返回回退。例如,如果在中国将所有平台设置为零权重,并且DNS/HTTP请求来自中国,则由于零权重,所有平台都不符合选择条件。在这种情况下返回一个回退。
通过加权轮询路由 基于轮循分发方法路由。这里没有指定可用性阈值,因此不会发生基于可用性的第一层过滤。
数据不足,随机路由 雷达评分不可用。结果是随机选择一个平台。
委员会 基于Radar HTTP可用性数据路由 首先选择满足可用性阈值的所有平台。在这些平台中,选择RTT值最低的平台。
由于声纳可用,准备撤退 声纳显示平台瘫痪了,因此它被安排退回去。
路由回退,无可用平台 应用程序中指定的平台都没有雷达可用性达到或高于可用性阈值。
数据不足,随机路由 雷达评分不可用。结果是随机选择一个平台。
吞吐量 路由基于雷达http_kbps和可用性 首先选择满足可用性阈值的所有平台。在这些平台中,选择在http_kbps的情况下具有最高吞吐量的平台。
基于Radar http_kbps数据路由 在http_kbps的情况下,选择吞吐量最高的平台。
数据不足,随机路由 雷达评分不可用。结果是随机选择一个平台。

Openmix快速入门应用程序

  1. 1 .登录智能交通管理Portal。
  2. 从左侧导航菜单导航到Openmix >应用程序配置
  3. 如果您是第一次配置Openmix应用程序,您将看到开始页面,当你点击Openmix >应用程序配置
  4. 要配置新应用程序,请单击开始按钮或添加按钮在页面的右上角。如果之前已经配置了Openmix应用程序,您将在此页面上看到一个应用程序列表。

以下部分将引导您完成在门户中配置Openmix应用程序的过程。

静态路由

这种类型的应用程序不使用任何评估逻辑来决定必须向最终用户提供哪个DNS响应。在这里,应用程序总是选择用户指定的单一平台。因此,应用程序只使用单个DNS CNAME或IP地址响应。静态路由应用程序可以通过设备的portal配置应用程序配置页面。

请注意:在配置应用程序之前,请确保首先配置了平台。看到平台平台配置页面。

  1. 导航到Openmix >应用程序配置
  2. 单击添加按钮在右上方

基本信息对话框。

基本信息

按照以下步骤进入基本信息

  1. 协议,选择“DNS”或“HTTP”。
  2. 应用程序类型,选择“静态路由”。或者如果你正在配置另一种类型的应用,请从列表中选择它。
  3. 给一个名字到您的申请(必填字段);添加一个描述(可选字段);和一个标签(可选字段)。
  4. 点击下一个配置

配置

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

  1. 选项中选择相关的平台平台列表。这是你在平台页面,表示CDN、云或数据中心。
  2. 输入一个CNAME / / AAAA级记录(用于DNS)或URL(HTTP)。所选平台的DNS CNAME或HTTP URL必须指向有效的IP地址或主机名。
  3. 歌珥,(在HTTP协议中)CORS选择“None”、“All”或“Custom”。CORS允许您控制从其他站点访问您的站点。您可以完全限制其他站点对您的站点的访问(通过单击没有一个),允许从所有其他网站访问(通过单击所有),或只允许从特定网站访问(通过单击自定义)。
  4. 输入一个TTL(生存时间)作为响应。默认值是20秒,但可以重写。
  5. 点击完整的
  6. 在确认弹出框中单击完成发布在Openmix应用程序页面中查看您的应用程序。如果你点击发布,你的应用程序立即上线,并处于绿色状态。这意味着应用程序处于生产状态。如果你点击完成,您的应用程序仍将在应用程序页面上列出,但它将未发布,并且状态将显示为红色。

故障转移

Failover应用程序支持一种简单的路由逻辑,根据平台在队列中的位置及其可用性来选择平台。客户可以创建一个故障转移链,该链决定首先选择哪个平台,其次选择哪个平台,等等。这个故障转移链既可以在全球范围内工作,也可以针对个别市场和国家。

故障转移应用程序可以在门户中配置应用程序配置页面。

请注意:在配置应用程序之前,请确保首先配置好平台。参考平台平台配置页面。

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

基本信息

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

故障切换基本信息

配置

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

故障转移配置

平台信息

  1. 平台信息对话框中,选择a平台从列表中。
    • 可以选择多个平台添加平台按钮。这个想法是选择所有适用于全球和地理(市场和国家)路由的可用平台。
    • 列表中的平台是您在平台页面(在门户内),代表CDN、云或数据中心。
    • 所有Openmix应用程序都需要事先设置一个相关的平台。如果您在列表中没有找到平台,您可以在平台页面。
  2. 进入CNAME / / AAAA级为平台记录。
  3. 确保启用复选框(表明平台已启用),然后移动到下一步。
  4. 如果声纳如果您想使用Sonar数据来帮助初始决策过程,请务必点击使用声纳识别平台可用性复选框。请注意: Sonar复选框只有在该平台启用Sonar时才会出现。
  5. 点击下一个位置配置

位置配置

  1. 位置配置对话框中,选择所需的平台全球路由。
    • 全球指示您正在为全局路由建立一个平台链。
    • 当你点击里面的全球字段中选择的所有平台的列表平台信息的一步。
    • 从列表中选择基于可用性的全局路由所需的平台。
    • 您在此字段中放置平台名称的顺序决定了它们选择的优先级,也就是说,它们是根据可用性从第一个到最后选择的。例如,如果列表中的第一个平台不可用,则选择第二个。如果列表中没有可用的平台,则使用回退。
    • 您可以拖动平台名称以更改其优先级顺序。
  2. 点击市场和国家如果您想建立本地地理路由平台。
    • 当你点击里面的市场和国家字段中选择的所有平台平台信息的一步。
    • 为本地地理路由选择平台,分别为每个地理位置(市场/国家)。
    • 您在此字段中放置平台名称的顺序决定了它们选择的优先级,也就是说,它们是根据可用性从第一个到最后选择的。例如,在中国,您可能希望首先使用中国的POP,只有在没有中国的POP的情况下,您才希望使用新加坡的POP,并将其排在后面,依此类推。
    • 您可以拖动平台名称以更改其优先级顺序。

    故障转移位置信息

  3. 点击完整的,完成应用的配置。
  4. 在确认弹出框中单击完成发布看到你的应用程序在Openmix页面。
    • 如果你点击发布,你的应用程序立即上线,并处于绿色状态。这意味着应用程序处于生产状态。
    • 如果你点击完成,你的应用仍然会在Openmix页面上列出,但它是未发布的,状态将是红色的。

轮循

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

要配置新的轮询应用程序,请单击添加按钮在Openmix页面的右上角。的基本信息对话框打开。

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

基本信息

  1. 在“基本信息”对话框中,选择“DNS”作为轮询协议。请注意:对于轮循应用程序,路由只能通过DNS CNAME提供。
  2. 选择应用程序类型从列表中。给这个应用程序一个名字(必填字段)描述(可选字段)和标签(可选字段)。
  3. 点击下一个的配置。

配置

  1. 可用性阈值默认值为80%。要修改此值,只需键入一个新值来替换默认值。
  2. 输入CNAME/ a /AAAA或IP地址。如果应用程序遇到问题或错误,通常使用备用CNAME/A/AAAA或IP。
  3. 为响应输入TTL(生存时间)。默认值是20秒,但如果需要,可以重写此值。
  4. 点击下一个浏览平台资料。

平台信息

  1. 中选择一个平台平台列表。请注意所有Openmix应用程序都需要事先设置相关平台。如果您在列表中没有找到平台,您可以在平台页面。
  2. 选择更多平台添加平台按钮。
  3. 输入该平台的CNAME或a /AAAA记录或IP (DNS)或URL (HTTP)。必须是有效的URL、主机名或IP地址。它的形式可以是:方案:[/ /主机[:端口]][/路径][?查询][#片段]
  4. 确保启用复选框(表明平台已启用),然后移动到下一步。
  5. 如果Sonar可用,并且您希望在初始决策过程中使用Sonar数据,请确保单击使用声纳识别平台可用性复选框。
  6. 点击保存转到步骤4,为每个平台分配适当的权重。

位置配置

  1. 分配权重为全球和/或按市场或国家优先考虑和选择每个平台。
  2. 要为市场或国家分别分配平台权重,请在“市场和国家”搜索框中输入名称,然后从列表中选择。
  3. 点击完整的用于创建您的应用程序。
  4. 在确认弹出框中单击完成发布在Openmix页面上看到你的应用。如果你点击发布,你的应用程序立即上线,并处于绿色状态。这意味着应用程序处于生产状态。如果你点击完成,你的应用仍然会在Openmix页面上列出,但它是未发布的,它的状态将是红色的。

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

ORTT应用程序使用雷达响应时间、声纳数据(如果声纳已启用)和平台可用性阈值来评估请求用户的最佳平台。可用性阈值是平台必须满足的最小可用性(80%是默认值)。此外,ORTT应用程序还使用了一个障碍值,可以包括全球和/或本地(针对特定市场或国家),以允许客户影响最终用户的路由方式。

前三步—基本信息、配置和平台信息的输入方式与其他应用相同。

按照以下步骤配置位置信息并为障碍针对每个平台,全球,或按位置/市场。

位置配置

  1. 位置配置对话框中,输入值障碍对于所选的一个或所有平台。您可以输入0到6000之间的障碍值。障碍的使用是在有更好的平台可用时,手动降低选择特定平台进行路由的机会,例如在成本或便利性方面。障碍值越大,平台被选中的机会越小。选项,可以取消选择平台平台的选择按钮。

  2. 点击市场和国家从列表中选择一个特定的市场或国家,然后进入障碍值分别用于每个相关平台。

  3. 点击完整的,完成应用的配置。

  4. 在确认弹出框中单击完成发布在Openmix应用程序列表页面上看到你的应用程序。如果你点击发布,你的应用程序立即上线,并处于绿色状态。这意味着应用程序处于生产状态。如果你点击完成,你的应用程序仍然会在应用程序页面上列出,但它是未发布的,它的状态将是红色的。

吞吐量

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

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

当你完成后,点击完整的返回Openmix应用程序列表页面。最后,点击发布在准备好上线时发布应用程序。

申请状态

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

  • 红色代表未出版。完成配置后,如果单击完成,您的应用程序将在应用程序页面中以红点列出,表示该应用程序尚未发布。
  • 绿色代表出版。如果你点击发布您的应用程序立即上线,并用绿色圆点表示,这意味着应用程序处于生产状态。
  • 黄色代表未发布的最新版本。黄色圆点表示已创建并编辑了应用程序,最后修改的设置尚未发布。

管理快速入门应用程序

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

管理Openmix应用程序

查看报告

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

编辑

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

重复的

点击重复的复制当前应用程序的配置并使用新名称保存它。

删除

点击删除,删除不再需要的应用程序。

发布

点击发布直接从Openmix应用程序管理器发布应用程序。此选项仅在应用程序尚未发布时可见。

Openmix自定义JavaScript应用程序

Openmix JavaScript应用程序是带有完全可定制的Java脚本的应用程序,您可以使用ITM(智能流量管理)门户中的UI创建、配置、测试和发布这些脚本。

请注意本指南不涉及自定义脚本的实际创建(语法、变量等)。有关创建自定义javascript的更多信息,请参阅开发人员交流

  1. 登录ITM portal。
  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应用程序页面或单击发布如果您已经为应用程序上线做好了准备。

    请注意:如果点击发布,你的应用程序立即上线,并处于绿色状态。这意味着应用程序处于生产状态。

    如果你点击取消,您的应用程序将在应用程序页面上列出,但将未发布,并且状态将显示为红色。要了解有关状态的更多信息,请参阅申请情况部分。

发布

分阶段应用程序Rollout

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

要进行应用程序的推出并发布新修改的应用程序的测试版本,请执行以下操作:

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

您还可以修改测试版本的流量,并通过更改流量百分比来查看性能。金丝雀

要检查应用程序的性能,请转到Openmix决策报告。选择应用程序作为你的主要维度,和版本作为你的二次元。然后单击应用过滤器从列表中选择应用程序后。该图表显示了应用程序不同版本的性能。

一旦你对这个版本的应用程序的性能感到满意,你就可以通过点击上线按钮。

金丝雀

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

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

测试

方法测试JavaScript应用程序测试应用程序按钮。

测试

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

测试结果包括:平台由应用程序选择,响应收到,原因代码日志的原因雷达的分数分布等等......

该特性还允许您查看决策在不同平台上的分布。例如,如果使用两个平台进行路由,则可以查看决策的数量(原始计数和百分比)以及为每个决策接收到的响应。

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

测试细节

测试结果如下所示:

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

请注意:您可以在运行的应用程序或未发布的版本(也就是说,如果应用程序尚未发布)上运行此测试。

一旦你的应用发布了,你就可以通过点击测试实时应用选择。如果你编辑你的应用程序或上传一个新版本,你可以在发布前通过点击测试未发布应用按钮。

测试实时应用

应用程序验证

为了确保自定义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应用程序启用时提供决策粘性的能力。请求使用IP子网掩码标识,其长度是可配置的。例如,当客户机在一段时间内向同一应用程序重复请求时,将返回原始决策。当客户端在特定会话期间不需要在不同的决策之间来回切换时,这可能是一个必要的功能。它可用于DNS或HTTP Openmix应用程序。

由于该机制的潜在自然限制,不能保证100%的请求具有持久性。而是采用尽力而为的方法。测试表明,预期的持久性准确度在95-97%之间。

注意:

要为您的帐户启用本地持久性特性,请打开支持票据或联系您的客户成功经理。另外,需要配置预测性DNS区域,并配置名称服务器ns5.cedexis.netns6.cedexis.net。考虑一下DNS区域更新在互联网上传播可能需要的大量时间。

配置

要启用本地持久化,请选择持久性控制>编辑,在Openmix应用程序选项下。

本地持久性控制

可用的设置如下:

  1. 在“配置”对话框中输入持久性TTL。默认值是300秒。取值范围在60到1440之间。在初始请求之后,所服务的DNS决定最多保留300秒。如果另一个请求在过期前来自系统中相同的IP子网范围,则使用相同的决策。

  2. 提供IPv4掩码和IPv6掩码,用于设置持久性粘性的粒度。IPv4和IPv6的默认值分别为“/32”和“/64”。允许值为:

    • /8 ~ /32, IPv4
    • /32 ~ /64,适用于IPv6

    客户端IP地址的掩码决定了内部数据存储中使用的持久性键。例如,如果两个(或更多)客户端IP映射到相同的掩码IP地址,则为它们提供相同的持久决策。

本地持久性设置

在预测应用程序设置下也可以使用相同的设置。

本地持久性预测应用程序设置

通过内部数据存储提供的Openmix决策与reason代码一起报告持续的应用在决策报告中。

Openmix持久性决策

健康检查

从持久性缓存提供的决策在提供之前要进行额外的运行状况检查:

  1. 如果应用程序配置了声纳可用性检查,然后在提供缓存决策之前检查Sonar可用性运行状况。如果Sonar报告平台“关闭”,则忽略缓存的决策,并再次运行OpenMix应用程序。

  2. 如果应用程序配置了雷达可用性检查,然后在提供缓存决策之前检查Radar可用性运行状况。如果平台的可用性低于配置的阈值,则忽略缓存的决策。

注意:

对于持久性,Radar可用性运行状况的最大阈值设置为固定的10%。

保护Openmix HTTP API

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

安全访问

创建API密钥

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

  1. 为每个应用程序打开安全访问要求安全API访问(HTTPS)方框Openmix应用程序配置页面。

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

    Openmix HTTP API密钥

  3. 如果您是第一次使用,系统会提示您输入客户端ID开始使用。输入您的客户机ID新客户对话框,然后单击完整的
  4. 客户的秘密键的旁边显示客户机IDOpenmix HTTP API认证配置页面。

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

    要使用命令行调用应用程序,使用以下cURL命令:

    Curl https://hopx.cedexis.com/zones//customers//apps//decision—user : 

请注意:您创建的密钥使您可以访问任何Openmix应用程序。

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

删除API密钥

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

访问日志

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

Netscope Openmix

Openmix报告

Openmix报告提供了对针对DNS或HTTP流量所做的Openmix决策的强大可见性。每个报告都在下面的部分中定义,但这里有一些关于报告的重要方面:

主要和次要维度

维

通过图表上方的列表选择列表来选择图表的主要维度。把这一点作为报告的一个有力的支点。还可以选择第二个维度来进一步细化报告。

可视化背景切换

背景切换

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

数据导出

数据导出

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

过滤:报表时间范围

时间范围

报表生成的时间范围包括“最近60分钟”、“最近24小时”、“最近48小时”、“最近7天”、“最近30天”或自定义时间范围。默认视图是最近24小时。

过滤器:强大的下钻功能

过滤器

在根据数据选择合适的过滤器方面,报告略有不同。以下是最常见的:

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

收益报告

在使用智能流量管理(Intelligent Traffic Management, ITM)服务时,Benefit报告为您提供了应用程序交付性能的总体改进。从候选平台池中选择特定平台所产生的响应时间和吞吐量的百分比改进显示了收益。

效益报告的主要内容

主要维度是效益报告显示所依据的独立度量。以下各节将详细描述这些主要维度。

效益报告的主要维度

总结

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

请注意:您可以在利益之间切换显示的条款响应时间吞吐量通过使用统计过滤器。

利益报告摘要

应用程序

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

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

按申请划分的利益报告

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

当位置(大陆国家地区,或状态)作为主要维度,则收益报告显示了每个位置的性能总改进百分比(根据响应时间或吞吐量)的平均值。您可以按大洲、国家、地区或州选择位置。

请注意:因地理规则或其他原因不符合入选资格的平台将不被计算在内。但是,针对该位置的地理围栏平台将被计算在内。

按地点划分的效益报告

网络

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

网络效益报告

平台

当你选择平台作为一个主要维度,你可以看到不同的应用程序选择了不同的平台,以及在选择这些平台时相应的性能改进。改进的性能或好处是在响应时间或吞吐量方面(以百分比表示)。

请注意上图所示的是应用选择该平台后的性能提升百分比。图表中的列表并不一定表示这些平台之间的性能排名。

按平台划分的利益报告

原因代码

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

利益报告的原因代码

忽略收益报告中的平台

提高…的准确性Openmix对于收益报告的决策,您可以选择忽略某些平台,并将应用程序设置为只选择最适合比较的平台。

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

因此,在计算应用程序的收益时,为了确保只使用三个欧洲平台进行计算,您可以使用ignoredProvider ()方法。

该方法采用提供程序的别名(例如provider-1提供商2)作为输入参数(很像requireProvider()方法)。每个别名必须调用一次API。

的JavaScript文件中使用这个示例代码onRequest功能:

函数onRequest(request, response) {response. ignoredprovider ('provider-1');response.ignoredProvider(“提供商2”);响应。setreoncode('忽略provider-1和provider-2');response.setTTL (this.__defaultTTL);响应。回应(“provider-3”、“cmg.test.fake.cname”);} < !——NeedCopy >

决策地理定位报告

这份报告显示了每个国家的Openmix决策量。此地图视图可以随着时间的推移(基于为报表选择的时间范围)通过选择按钮,位于图表底部。

决策地理定位报告

决定报告

这份报告显示了Openmix在每个应用程序、平台和地理位置上的决策趋势。

决定报告