Openmix
概述
Citrix智能交通管理(ITM) Openmix为全球流量管理/全局服务器负载平衡(GTM / GSLB)提供了一种革命性的方法。对于传统的全球流量管理,itm提供了一种基于DNS的负载平衡方法。Itm使用DNS cname或记录,根据所需的业务逻辑实时更改DNS响应。Openmix可以通过多种方式集成到视频工作流程和交付中。
GTM或GSLB工具和服务依靠专有,不可扩展的静态规则引擎来定义和控制一组狭窄的固定策略,用于故障转移,轮询和地理位置定位。Citrix ITM的使命是基于实时数据源启用下一代云策略。Openmix平台提供了一种非常稳健的方法,可以从各种来源提取实时数据。它将元数据公开为环境“变量”,可以在每个请求中对其进行评估。
Openmix:主要优势
- 消除单一供应商依赖关系并确保 100% 可用性
- 控制性价比权衡,消除与多来源相关的麻烦
- 消除传统性能工具的不确定性,有选择地和战略性地减轻流量
- 将特定供应商应用于个别市场
Openmix如何运作
客户登录Citrix ITM门户以部署其第一个应用程序。提供了一个示例应用程序库来帮助入门,还有一个分步向导工具可帮助创建具有最常见路由逻辑的应用程序。ITM Openmix应用程序可以支持两种协议用于指导流量:DNS或HTTP。
应用程序定义的控制
全球分布式按需的Openmix平台让GTM/GSLB决策更贴近您的应用程序受众。每个主机都可以拥有自己的自定义Openmix应用程序,该应用程序考虑当前的指标和变量,从而为任何路由请求提供最佳优化。
Openmix脚本是用JavaScript编程的,这是大多数网络程序员和网络管理员都可以访问的语言。而这种基于脚本的方法几乎可以用最小的编码复杂度实现任何业务逻辑,以此作为真正动态流量管理策略的基础。由于我们客户社区的协作性质,ITM还提供“快速入门应用程序”,这些应用程序是不需要代码的标准应用程序。
何时使用HTTP或DNS服务
ITM Openmix实现了广泛的内容交付优化。您使用哪种方法来启用Openmix在很大程度上取决于您的用例的具体情况。DNS方法易于实施,对客户端大多是透明的,并且可以在各种内容中使用。但是,切换提供商的能力受到DNS响应上设置的TTL的限制,并且某些内容无法在中途切换到其他提供商。HTTP提供了更大的集成灵活性,当它最适合客户端时,可以做出优化决策。这种更大的灵活性需要更多的工作来与CMS或客户端集成。
下表总结了DNS和HTTP接口的客户使用案例。
Openmix: DNS
Cname委派
Itm客户最简单的集成是使用DNS cname委派。Cname委派的工作原理是让客户将面向最终用户的主机名(在以下示例中为www.acme.com
)指向itm主机名
www.acme.com 600 IN CNAME 2-02-123d-000d.cdx.cedexis.net。<!——NeedCopy >
在收到来自最终用户的DNS请求后,itm系统会实时做出决策。该决策基于雷达数据,应用程序中的业务逻辑和任何第三方信息。这个决定要么是另一个CNAME记录(在acme.cdn1.net下面的示例中),要么是一个记录,例如111.222.111.222。
通过提供cname记录,itm将最终用户"指向"所选的cdn,云或数据中心。路由最终用户使用该提供商而不是另一个提供商。
2 - 02 - 123 d - 000 d.cdx.cedexis.net。19在CNAME acme.cdn1.net中。<!——NeedCopy >
一旦提供了CDN或云CNAME,最终用户的机器就会继续解析链。它请求一个CDN名称服务器,直到收到节点或服务器的IP地址。在下载内容的过程开始的位置。如果记录作为逻辑的一部分提供,则最终用户的机器将接收IP地址。它直接连接到服务器并启动内容下载。
acme.cdn1.net。132在111.222.222.111
区域委派
此外,权威DNS区域委派是实施Openmix的一个选项。客户创建一个DNS区域并委派到在itm门户中创建的预测DNS区域。在委派区域中创建主机名。将其配置为使用Openmix应用程序或动态预测DNS记录来生成响应。此选项的优点是无需在主机名和来自itm平台的动态响应之间进行cname委派。使用前面的示例www.acme.com
,主机名直接解析为最佳CDN,云或数据中心的配置值。
www.acme.com。19在CNAME acme.cdn1.net中。
也可以使用a / aaaa记录来代替cname,并且主机名将直接解析为最佳目的地的记录。
www.acme.com。111.222.222.111中的19
DNS和生存时间的影响
我们会仔细考虑诸如生存时间(TTL)值之类的因素,为内容设置适当的时间,以及用户必须如何做出决策。在大多数情况下,itm建议用于页面和对象内容的20秒ttl。对于视频内容,ITM 顾问与客户合作,根据区块长度和集成方法找到最合适的平衡。
Openmix: HTTP
DNS的替代方法是使用HTTP接口。Openmix使用 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,可以查看用户代理字符串,X-Forwarded-For和推荐人的标头。使用查询字符串参数提供IP地址覆盖。由于HTTP Openmix的有效负载比DNS更具可扩展性,因此也可以以不同的方式提供CDN,云或服务器决策选择。到目前为止,最常见的是从首选平台到最低平台的有序列表(如上所述)。完整列表允许将决策等级提供给CMS或客户端,但仍允许在选择提供商时使用内部启发式方法。
CMS集成
有些客户更喜欢在服务器端处理提供商选择,而不是在每个客户端中实现提供商选择。HTTP API可用于在客户端请求时从Openmix检索优化决策。它可用于填充从CMS返回给客户端的文件。
默认情况下,Openmix HTTP端点使用调用方的IP作为地理位置和决策标准。如果您从位于最终用户客户端和Openmix之间的CMS或其他系统调用,则可以将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应用程序由专门的Openmix服务器根据脚本中的逻辑来响应DNS或HTTP请求。脚本的部署是通过配置和发布应用程序的客户门户完成的。有关如何创建自己的 JavaScript 脚本的更多信息,请参阅我们的开发人员交流中的信息。
在设置应用程序之前,了解以下概念非常重要:
可用性阈值
可用性阈值是平台在考虑路由时必须达到的最低可用性分数。所有应用程序的默认最低可用性阈值为 80%。但是,您可以修改此百分比并将其设置为适合您的位置、网络可用性和可靠性的值。
注意:如果没有平台满足此最低可用性阈值(默认值为80%,或您设置的值),则会对轮询,委员会和吞吐量应用程序执行随机路由。
回退
如果Openmix应用程序因任何原因未能成功运行,则会返回回退响应。或者,如果声纳确认没有可用的平台。因此,必须指定有效的备用CNAME / / AAAA记录或IP(或HTTP中的路径),Openmix可以用它进行响应。此备用URL或CNAME记录可以用于Openmix中预先配置的平台。在以下情况下,有时也会发生回退:
- 在应用程序版本之间切换时,您上传并发布新脚本。在新脚本初始化并删除旧脚本之前,需要短暂的毫秒回退时间。
- 如果出现过载(这种情况很少发生),Openmix会使用后备CNAME / / AAAA进行响应,因为回退会抵消服务的负载。
要进行回退,必须在DNS中输入有效的主机名(CNAME / / AAAA记录)或IP地址,以及有效的URI(可以是HTTP格式的方案:[/ /主机[:端口]][/路径][?查询][#片段])
)。
TTL
在Openmix中,应用程序的DNS生存时间(TTL)告诉解析者在再次询问Openmix之前,他们必须保留多长时间的决定。TTL用于控制Openmix应用程序获得的流量。它还控制应用程序对所处理的数据变更的敏感程度。默认TTL为20秒。尽管您可以修改此值,但不建议这样做。如果降低ttl,则会获得更多的流量和更多的实时DNS查询。这可能会导致成本增加和性能降低,因为DNS查询需要在客户端上花费时间。因此,最好不要更改TTL的默认值。
注意:生存时间适用于快速入门应用程序,自定义js应用程序(如果代码中未指定ttl)以及所有备用响应
重量(用于轮询)
您可以为全球和/或市场或国家/地区的每个平台的优先级和选择分配权重。
例如,假设您为应用程序选择了三个平台-p1, p2和p3。您给他们权重:分别为 60、50 和 10。循环应用程序将这些值转换为百分比,例如P1 = 50%, P2和P3 = 8% = 42%,加起来等于100%。这些百分比意味着50%的时间用户通过P1进行路由,42%的时间通过P2进行路由,8%的时间通过P3进行路由。
您赋予平台的权重加起来不必等于 100。它们可以是介于0和1,000,000之间的任何整数。当转换为百分比(由后端的应用程序)时,赋予平台的权重加起来为100%。如果所有选定的平台都具有相同的权重,则流量将随着时间的推移在它们之间均匀分布。如果您有一个平台,那么无论您给它多少权重,该平台都会百分之百地被使用。
权重仅用于根据雷达和声纳可用性检查认为可用的平台,具体取决于应用程序的配置。不可用的平台会导致分布与配置的权重不匹配。例如,如果P1的重量为100,P2的重量为0,但P1未通过雷达可用性检查,则所有流量都将流向P2。
让分(用于或和吞吐量)
让分是一个百分比的值,可以应用于平台来修改RTT和吞吐量的雷达分数,也就是说,人为地增加响应时间(以毫秒为单位)或降低吞吐量(以kbps为单位)。增加或减少这些值会降低平台的性能,从而降低平台被选中的可能性。让分可以在全球平台上添加,也可以针对特定市场或国家单独添加。如果某个平台在特定市场或国家/地区价格昂贵,并且您希望在同等提供商的表现接近时降低其被选中的可能性。您可以将让分值作为乘数来增加响应时间的值或减少吞吐量的值。因此,它降低了平台被选中的可能性。
以下是让分在后端的运行方式:
- 应用让分的平台RTT = RTT(以毫秒为单位的往返时间)*(1 +让分)或
- 应用让分的平台吞吐量=(以KBPS为单位的吞吐量)*(1 -让分)
注意:平台的RTT和吞吐量值是来自雷达数据的分数。下表显示了让分如何影响两个平台——p1和p2。以及让分如何降低p1被选中的可能性。
P1 | P2 | |
---|---|---|
不带让分的RTT | 50 毫秒 | 60 毫秒 |
RTT 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,2和3级筛选器来排名和选择最佳平台。
过滤级别 | 选择标准 | 委员会 | 吞吐量 | 轮询 | 故障转移 | 静态路由 | 静态接近 |
---|---|---|---|---|---|---|---|
第 1 级 | 声纳可用性检查(如果启用) | X | X | X | X | X | X |
第 2 级 | 雷达可用性检查(如果启用) | X | X | X | X | X | 不适用 |
第 3 级 | 权重(用户定义) | 不适用 | 不适用 | X | 不适用 | 不适用 | 不适用 |
第 3 级 | 往返时间(以毫秒为单位) | X | 不适用 | 不适用 | 不适用 | 不适用 | 不适用 |
第 3 级 | 吞吐量(以KBPS为单位) | 不适用 | X | 不适用 | 不适用 | 不适用 | 不适用 |
原因代码报告
原因代码提供决策原因的可见性,还可以了解应用程序代码的哪一部分正在运行。在执行过程中,应用可以随时在原因代码字段中添加一些内容。原因代码对每个快速入门应用程序的含义各不相同。每个应用程序的原因代码之间有一些共同点,但并不全面。
注意:要正确显示原因代码,它们不得超过 200 个字符的最大字符限制。如果超过此限制,原因代码将显示为”未知”。如果用户尚未添加原因代码,则会显示”未知”。
以下是快速入门应用程序的原因代码:
原因代码 | 说明 | 最佳RTT | 轮询 | 静态路由 | 吞吐量 | 静态接近 | 故障转移 |
---|---|---|---|---|---|---|---|
最佳利用率 | 业绩最佳的提供商现已上线,并已被选中。 | X | 不适用 | 不适用 | X | 不适用 | X |
最优Unavail-Radar | 表现最佳的提供商不可用;根据雷达的说法,已经选择了另一家符合条件的提供商 | X | 不适用 | 不适用 | X | 不适用 | X |
最优Unavail-Radar +声纳 | 由于雷达和/或声纳的原因,性能最佳的供应商不可用。 | X | 不适用 | 不适用 | X | 不适用 | X |
所有Unavail-Radar | 根据雷达,所有符合条件的平台都不可用。请求已路由到后备设备 | X | X | 不适用 | X | 不适用 | X |
所有Unavail-Sonar | 根据声纳,所有符合条件的平台都不可用。请求已路由至后备设备。 | X | X | 不适用 | X | 不适用 | X |
数据问题 | 表示缺少一个或多个平台的雷达测量结果。因此,平台是随机选择的 | X | X | 不适用 | X | 不适用 | X |
地理默认 | 默认的地理设置已生效 | X | X | 不适用 | X | X | X |
地理覆盖国家/地区 | 该决定实行国家优先权 | X | X | 不适用 | X | X | X |
地理覆盖市场 | 此决定已生效的市场优先权 | X | X | 不适用 | X | X | X |
全部可用 | 所有符合条件的平台均可通过声纳和雷达获得 | X | X | 不适用 | X | 不适用 | 不适用 |
近端可用 | 最近的地理平台可用且已被选中 | X | 不适用 | 不适用 | 不适用 | X | 不适用 |
合格Unavail-Radar | 根据雷达,对于轮询,符合条件的提供商不可用 | 不适用 | X | 不适用 | 不适用 | 不适用 | 不适用 |
永久应用程序 | 该决策提供了缓存的响应,没有执行任何逻辑 | X | X | X | X | X | X |
请求地理位置不可用 | 无法建立请求的地理位置。请求已路由到后备设备 | X | 不适用 | 不适用 | 不适用 | X | 不适用 |
全部不可用提供商 | 所有提供商都不可用。请求已路由到后备设备 | X | 不适用 | 不适用 | 不适用 | X | 不适用 |
无效提供者 | 未找到任何提供商的邻近分数。请求已路由到后备设备 | X | 不适用 | 不适用 | 不适用 | X | 不适用 |
Openmix快速入门应用程序
- 登录智能交通管理门户。
- 从左侧导航菜单中,导航到Openmix >应用程序配置。
- 如果您是首次配置Openmix应用程序,则单击Op混合>应用程序配置时会看到”入门页面。
- 要配置新应用程序,请单击页面右上角的等StarteD按钮或添加按钮。如果之前已配置Openmix应用程序,则您将在此页面上看到应用程序列表。
以下部分将引导您完成在门户中配置Openmix应用程序的过程。
静态路由
这种类型的应用程序不使用任何评估逻辑来决定必须向最终用户提供哪个DNS响应。应用程序始终在此处选择由用户指定的单个平台。因此,该应用程序仅使用单个DNS cname或IP地址响应。静态路由应用程序可以通过应用程序配置页面上的门户进行配置。
注意:在配置应用程序之前,请确保首先配置了您的平台。有关平台配置,请参阅平台页面。
导航
- 导航到Openmix >应用程序配置。
- 点击右上角的添加按钮
将打开”基本信息对话框。
基本信息
请按照以下步骤输入基本信息:
- 对于协议,从列表中选择DNS或http。
- 对于应用程序类型,选择静态路由。或者,如果您正在配置其他类型的应用程序,请从列表中选择它。
- 为应用程序指定名称(必填字段);添加说明(可选字段)和标签(可选字段)。
- 单击”下一步进行配置。
配置
要配置应用程序,请执行以下操作:
- 从平台列表中选择关联的平台。它是您在平台页面中设置的平台,代表cdn,云或数据中心。
- 输入CNAME / / AAAA级记录(用于dns)或URL(用于http)。所选平台的DNS cname或HTTP url必须指向有效的IP地址或主机名。
- 对于歌珥,在HTTP协议中,为cors选择无,全部或自定义。Cors允许您控制从其他站点访问您的站点。您可以完全限制从其他站点访问您的站点(通过单击”无),允许所有其他站点的访问(通过单击”全部)、或者仅允许从特定站点进行访问(通过单击)自定义”)。
- 输入响应的TTL(生存时间)。默认值为 20 秒,但可以覆盖。
- 单击”完成”。
- 在确认弹出窗口中,单击”完成“或”发布以查看Openmix应用程序页面中列出的应用程序。如果单击”发布,您的应用将立即上线并显示为绿色状态。这意味着应用程序正在生产中。如果单击”完成,您的应用程序仍会列在应用程序页面上,但未发布,状态为红色。
故障转移
故障转移应用程序支持简单的路由逻辑,根据平台的排列位置和可用性来选择平台。客户可以创建一个故障转移链,用于决定要选择哪个平台第一个平台、第二个平台等。创建此故障转移链既可以在全球范围内使用,也可以在各个市场和国家/地区使用。
可以在“应用程序配置”页面上的门户内配置故障转移应用程序。
注意:在配置应用程序之前,请确保先配置平台。有关平台配置,请参阅平台页面。
导航
- 登录门户。
- 从左侧导航菜单中,导航到Openmix >应用程序配置。
- 单击右上角的"添加"按钮,进入"新建Openmix应用程序",基本信息对话框。
基本信息
- 从“协议列表中选择DNS。
- 从“应用程序类型“列表中,选择”故障转移”。
- 为应用程序指定名称(必填字段);添加说明(可选字段)和标签(可选字段)。
- 完成后,单击”下一步”。
配置
- 在“配置”对话框中,选中”可用性阈值复选框。可用性阈值 的默认值为 80%。平台的可用性分数必须至少与该阈值一样高,才能考虑进行路由。
- 如果要修改默认可用性阈值,只需输入一个新值来替换默认值。
- 如果没有平台的可用性分数等于或大于指定阈值,则使用回退CNAME或或AAAA或IP地址。
- 如果未选中该复选框,则平台将假定可用性阈值为零。这意味着此平台上没有雷达可用性检查。
- 输入cname / a / aaaa或IP地址进行回退。如果应用程序遇到问题或错误,通常使用备用cname / a / aaaa或ip。
- 输入响应的TTL(生存时间)。默认值为 20 秒。如有必要,您可以覆盖此值。
平台信息
- 在“平台信息对话框中,从列表中选择一个平台。
- 输入平台的CNAME / / AAAA级记录。
- 在移动到下一步之前,确保已选中“已启用”复选框(表示平台已启用)。
- 如果配置了声纳,并且您希望使用声纳数据来帮助进行初始决策过程,请务必单击”使用声纳获取平台可用性复选框。注意:只有在该平台上启用了声纳时,才会显示声纳复选框。
- 单击”下一步进行位置配置。
位置配置
- 在“位置配置对话框中,选择全局路由所需的平台。
- 全球表示您正在为全局路由设置一系列平台。
- 当您在”全局“字段内单击时,会出现一个列表,显示您在”平台信息”步骤中选择的所有平台。
- 从列表中选择基于可用性的全局路由所需的平台。
- 在此字段中放置平台名称的顺序决定了其选择的优先级。例如,如果列表中的第一个平台不可用,则会选择第二个平台。如果列表中的任何平台都不可用,则使用回退。
- 您可以拖动平台名称以更改其优先级顺序。
- 如果您想设置本地地理路径的平台,请点击市场和国家/地区。
- 当您在”市场和国家/地区字段中单击时,列表将显示您在平台信息步骤中选择的所有平台。
- 为每个地理位置(市场/国家/地区)分别选择本地地理位置路由平台。
- 在此字段中放置平台名称的顺序决定了其选择的优先级。例如,在中国,您想先使用中国流行,只有当它不可用时,您才会希望使用您的新加坡流行,然后再放一行,依此类推。
- 您可以拖动平台名称以更改其优先级顺序。
- 点击完成,完成应用的配置。
- 在确认弹出窗口中,单击”完成“或”发布以查看Openmix页面上列出的应用程序。
- 如果单击”发布,您的应用将立即上线并显示为绿色状态。您的应用程序已投入生产。
- 如果单击”完成,您的应用仍会在Openmix页面上列出,但未发布,状态为红色。
轮询
此应用程序遵循轮询的典型全局服务器负载平衡方法,在发出DNS请求时,每个CNAME交替返回给最终用户。然后,它使用声纳数据(如果启用了声纳)和平台可用性阈值来评估请求用户的最佳平台。每个平台都是根据轮询分配方法选择的。例如,如果平台P1, P2和P3达到可用性阈值,则第一个请求将路由到P1,第二个路由到P2,第三个请求路由到P3。第四个请求再次路由到p1,依此类推。
要配置新的轮询应用程序,请单击Openmix页面右上角的添加按钮。将打开”基本信息对话框。
导航
- 登录门户。
- 从左侧导航菜单中,导航到Openmix >应用程序配置。
- 单击右上角的“添加”按钮,进入“新建Openmix应用程序,基本信息”对话框。
基本信息
- 在“基本信息”对话框中,选择“dns”作为轮询协议。注意:对于轮询应用程序,路由只能通过DNS cname进行。
- 从列表中选择应用程序类型。为应用程序提供名称(必填字段)、说明(可选字段)和标记(可选字段)。
- 单击”下一步进行配置。
配置
- 可用性阈值的默认值为 80%。要修改此值,只需键入一个新值来替换默认值。
- 输入cname / a / aaaa或IP地址进行回退。如果应用程序遇到问题或错误,通常使用备用cname / a / aaaa或ip。
- 输入响应的ttl(生存时间)。默认值为 20 秒,但如有必要,可以覆盖此值。
- 单击”下一步获取平台信息。
平台信息
- 从“平台”列表中选择一个平台。注意:所有Openmix应用都需要事先设置相关的平台。如果您未在列表中找到平台,则可以在门户的平台页面中进行设置。
- 点击”添加平台”按钮,选择更多平台。
- 输入此平台的CNAME或/ AAAA记录或IP(在DNS中)或URL(以HTTP格式输入)。它必须是有效的url,主机名或IP地址。它的形式可以是:
方案:[/ /主机[:端口]][/路径][?查询][#片段]
。 - 在移动到下一步之前,确保已选中“已启用”复选框(表示平台已启用)。
- 如果声纳可用,并且您希望使用声纳数据来帮助初始决策过程,请务必单击”使用声纳获取平台可用性复选框。
- 单击”保存转到第4步,为每个平台分配适当的权重。
位置配置
- 为全球和/或按市场或国家/地区划分每个平台的优先级和选择分配权重。
- 要分别为市场或国家/地区分配平台权重,请在市场和国家/地区搜索框中输入名称,然后从列表中进行选择。
- 单击”完成以创建您的应用程序。
- 在确认弹出窗口中,点击”完成“或”发布,即可查看Openmix页面上列出的应用。如果单击”发布,您的应用将立即上线并显示为绿色状态。您的应用程序已投入生产。如果单击”完成,您的应用仍会在Openmix页面上列出,但未发布,其状态为红色。
最佳往返时间(ortt)应用程序
委员会应用程序使用雷达响应时间,声纳数据(如果已启用声纳)和平台可用性阈值来评估请求用户的最佳平台。可用性阈值是平台必须满足的最低可用性(默认值为 80%)。此外,奥特应用程序还使用让分,该值允许客户在全球或本地影响最终用户的路由方式。
前三个步骤(基本信息、配置和平台信息)的输入方式与其他应用程序相同。
按照以下步骤配置位置信息,并为每个平台、全球或按位置/市场输入让分值。
位置配置
在位置配置对话框中,为一个或所有选定平台的让分输入一个值。您可以输入介于 0 和 6000 之间的让分值。让分的用途是在成本或便利性方面有更好的平台可用时,手动降低选择特定平台进行路由的机会。让分越多,平台被选中的机会就越小。如果需要,可以通过关闭平台选择按钮来取消选择平台。
点击市场和国家/地区,从列表中选择一个特定的市场或国家/地区,并分别为每个关联平台输入让分值。
点击完成,完成应用的配置。
在确认弹出窗口中,单击”完成“或”发布以查看Openmix应用程序列表页面上列出的应用程序。如果单击”发布,您的应用将立即上线并显示为绿色状态。您的应用程序已投入生产。如果单击”完成,您的应用程序仍会列在“应用程序”页面上,但未发布,其状态为红色。
吞吐量
吞吐量应用程序根据声纳数据(如果启用了声纳),最高吞吐量(使用雷达数据)和平台可用性阈值(默认情况下为80%)来选择平台。此外,此应用程序允许您添加让分值,以降低特定平台的吞吐量并影响最终用户的路由方式。这个可选的让分值可以在全球和/或本地(针对特定市场或国家/地区)分配。
前三个步骤(基本信息、配置和平台信息)的输入方式与其他应用程序相同。位置配置的输入方式与在ortt应用程序中的输入方式相同。
完成后,单击”完成以返回Openmix应用程序列表页。最后,单击”发布”以在您准备上线时发布您的应用程序。
申请的状态
应用程序的状态显示其当前配置。
- 红色代表未发布。完成配置后,如果单击“完成,应用程序页面中将以红点列出您的应用程序,表示该应用程序尚未发布。
- 绿色代表已发布。如果单击”发布,您的应用程序将立即上线,并用绿点表示,表示该应用程序已投入生产。
- 黄色代表未发布的最新版本。黄点表示应用程序已创建和编辑,上次修改的设置尚未发布。
静态接近
静态邻近应用程序响应位于请求用户纬度和经度附近的平台。
注意:
所有Openmix应用程序都需要事先设置一组关联的平台。如果未在列表中找到平台,则可以在门户的平台页面中进行设置。
导航
- 登录智能流量管理门户。
- 从左侧导航菜单中,导航到Openmix >应用程序配置。
- 点击右上角的加号按钮”添加Openmix应用程序”。
- 选择”快速启动应用程序”。
基本信息
- 在“基本信息对话框中,选择DNS作为协议。
- 选择”静态邻近作为应用程序类型。为应用程序指定名称(必填字段)、说明(可选字段)和标签(可选字段)。
- 单击”下一步进行配置。
配置
- 如果启用,可用性阈值的默认值为 80%。输入新值以替换默认值。
- 输入cname / a / aaaa或IP地址进行回退。如果应用程序遇到问题或错误,通常使用备用cname / a / aaaa或ip。此字段不能为空。
- 为响应输入ttl(生存时间)。默认值为 20 秒,但如有必要,可以覆盖此值。
- 单击”下一步查看持久性控制。
持久性控制
设置本地持久性。有关更多信息,请参阅本地持久性。单击”下一步获取平台信息。
平台信息
每个平台都必须通过”平台页面设置其纬度和经度。社区平台的别名最初是从社区平台继承地理信息,但在创建别名后您可以更改它们。私有平台需要在创建时或之后通过其配置窗格进行设置。要查看配置窗格,只需单击表的平台条目即可。
只有属于以下类别的平台才能拥有地理信息并成为opx应用答案列表的一部分:
- 云计算
- 云端存储
- 数据中心
从“平台”列表中选择一个平台。
输入平台的CNAME, / AAAA记录或IP(在DNS中)或URL(在HTTP中)。它必须是有效的url,主机名或IP地址。它可以采用方案:[//host[:port]][/path][?查询][#fragment]的形式。
确保选中”已启用复选框,表示平台已启用,然后再进行下一步。
如果声纳可用于此平台,并且您希望在DNS解析过程中考虑使用声纳数据,请务必单击”使用声纳获取平台可用性复选框。
您可以通过单击“添加平台”来添加更多平台。
单击”下一步进行位置配置。
位置配置
在“位置配置”对话框的“全局”部分中,可以为全局路由设置平台链。您可以全局启用或禁用对每个平台的选择。
在市场和国家/地区中,您可以为每个市场或国家/地区创建不同的设置,从而有效地为它们制定地理围栏规则。
单击”完成以创建应用程序。
在确认弹出窗口中,单击”发布","添加另一个“或”完成”:
如果单击”发布,您的应用将立即上线,并且状态为绿色。这意味着该应用程序已投入生产。
如果单击”完成,您的应用程序将在Openmix页面上列出,但未发布,状态为红色。
如果单击”添加另一个,则应用程序的状态与"完成相同,但您需要重新启动相同的过程来创建新应用程序。
管理快速入门应用程序
使用应用程序管理器面板中的顶部选项卡编辑、复制、删除、测试、查看报告、查看源代码和查看应用程序的版本历史记录。在Openmix应用程序列表页中单击您的应用程序以展开应用程序管理器。
查看报告
查看报告将带您进入Openmix决策报告页面,在该页面中,您可以查看每个应用程序,平台和地理位置的Openmix决策趋势。
编辑
要编辑您的Openmix应用程序,只需单击应用程序管理器面板顶部的编辑图标即可。您还可以通过单击面板中的“编辑”按钮,分别对基本信息,配置,平台或位置信息执行单独的编辑,如图所示。完成编辑后,单击“完成“以列出处于未发布状态的应用程序(稍后可进行更多编辑),或单击”发布立即上线。
重复
单击“复制”可复制当前应用程序的配置并使用新名称进行保存。
删除
单击”删除以删除不再需要的应用程序。
发布
单击”发布直接从Openmix应用程序管理器发布应用程序。仅当应用程序尚未发布时,此选项才可见。
Openmix自定义JavaScript应用程序
Openmix JavaScript应用程序是带有可自定义的Java您可以使用ITM门户中的UI进行创建,配置,测试和发布。
注意:本指南不涵盖自定义脚本的实际创建(语法、变量等)。有关创建自定义 JavaScript 的更多信息,请参阅开发者交易平台。
导航
- 登录itm门户。
- 从左侧的导航菜单中,转到Openmix。
- 选择应用程序配置。
- 要配置新的Openmix应用程序,请单击右上角的添加图标。
- 选择自定义js应用程序。
- 此时将打开Openmix应用程序配置页面。
基本信息
- 应用程序名称:为您的应用程序命名。
- 说明: 在此处为应用程序提供说明或添加发行说明。这是一个可选字段。
标签:如有必要,请输入相应的标签。标签有助于识别和整理您的应用。这是一个可选字段。
- 协议:选择DNS或HTTP作为协议。
- DNS:如果选择dns,则必须输入TTL值。
- HTTP:如果选择http,则可以启用安全访问。
- TTL:输入应用程序的DNS生存时间。建议的值为 20 秒。注意:如果自定义 JS 应用程序未设置 TTL 或者响应是后备值,则此 TTL 适用。
回退:输入cname / a / aaaa或IP地址进行回退。如果应用程序遇到问题或错误,通常使用备用cname / a / aaaa或ip。
安全访问:如果启用了安全访问,则HTTP API在调用时必须要求客户端提供Oauth访问密钥。要了解更多信息,请参阅保护Openmix HTTP API。
注意:启用安全访问后,Openmix首页上应用程序列表中的应用程序名称旁边会显示一个锁形图标。
自定义JavaScript
输入配置信息后,您就可以上传自定义JavaScript了。
单击”选择文件按钮,然后选择要上传的JavaScript文件。您可以随时上传新文件以覆盖现有文件。
单击”保存并测试以保存您的应用程序。
注意:应用程序在上传和保存时,会使用应用程序检查器自动对其进行测试。如果存在错误,应用程序检查器会显示错误信息和错误的位置。有关应用程序检查器中可用数据的更多信息,请参阅应用程序验证部分。
单击”取消"返回" Openmix应用程序"页面,如果应用程序已准备就绪,请单击"发布”。
注意:如果单击”发布,您的应用将立即上线并显示为绿色状态。您的应用程序正在生产中。
如果单击”取消,您的应用程序将列在应用程序页面上,但未发布,状态为红色。要了解有关状态的更多信息,请参阅应用程序状态部分。
分阶段部署应用程序
您可以通过新版本(有时称为金丝雀部署)发送一小部分网络流量,从而管理应用程序的推出。Itm允许您将指定百分比的流量发送到新版本的应用程序,以确保应用程序逻辑按预期运行。您可以报告现有版本和新版本的行为,以评估在实时环境中对应用所做的更改。此选项允许您修复在通过新编辑的应用程序路由100%的网络流量之前发生的任何问题或异常情况。验证所需的行为后,您可以增加流量到最新版本的百分比,或者将应用程序部署到所有用户。
要暂存应用程序部署并发布新修改的应用程序的测试版本,请执行以下操作:
- 单击应用程序名称(在Openmix应用程序列表页中)。应用程序管理器面板随即打开。
- 单击”编辑”图标以编辑您的应用程序。
- 修改现有应用程序,进行所有必要的更改。
- 完成编辑后,单击”保存并测试”。
- 使用”取消“和”发布按钮在页面底部向下滚动。输入您希望流经此新修改版本的 Web 流量百分比(1% 到 99%)。
- 选中此复选框以通过此新版本的应用程序分配部分流量。剩余的流量将发送到以前的实时版本。
- 单击”发布”。该应用程序的这个新测试版本现在显示在Openmix配置页面的应用程序列表中,并带有新的状态图标。新的状态图标表示只有部分网络流量通过此版本进行实时流动。
您可以将流量修改为测试版本并更改流量百分比以查看性能。
的金丝雀! (/ en - us / citrix-intelligent-traffic-management /媒体/ openmix-jsapp-edit-canary.png)
要查看应用的性能,请前往Openmix决策报告。选择”应用程序“作为主要维,选择”版本作为辅助维。从列表中选择您的应用程序后,单击“应用过滤器”。该图表显示了应用程序的不同版本的性能。
一旦您对这个版本的应用程序的性能感到满意,您可以通过点击”上线”按钮继续通过它路由100%的网络流量。
此版本将当前的上线版本替换为新编辑的版本。
如果您不想使用此版本,请单击”取消发布”。您的更改将被保存,并在Openmix配置页面的应用程序列表中显示为未发布的应用程序。现在,您的 100% 网络流量都通过应用的当前上线版本流动。
测试
您可以在发布之前或之后使用”测试应用程序”按钮测试您的JavaScript应用程序。
它使您能够查看特定市场、国家、地区和州的测试结果。您可以从特定IP地址地址查询应用程序。
测试结果包括:应用程序选择的平台、收到的响应、原因代码、原因日志、雷达分数、分布等
此功能还允许您查看不同平台之间的决策分布。例如,如果使用两个平台进行路由,则可以查看每个平台的决策数量和收到的响应。
点击显示所有详细信息链接,查看应用的测试结果。
以下值显示为测试结果:
字段 | 说明 |
---|---|
市场、国家、地区和州 | 测试应用程序的位置。 |
平台 | 应用程序选择的平台。 |
回应 | 应用程序选择的平台的cname或IP地址。 |
原因代码 | 说明决策背后的原因。 |
原因日志 | 来自应用程序的客户定义输出。使客户能够记录有关应用程序决策的信息。 |
雷达得分 | 为平台记录的响应时间(rtt)、可用性和吞吐量测量值。 |
版本 | 应用为每个测试位置选择的平台分布。计数表示选择平台的次数。百分比是平台选择总计数的百分比。 |
注意:您可以在上线应用程序或未发布的版本(即应用程序尚未发布)上运行此测试。
发布应用后,您可以选择通过单击"测试上线应用程序"选项来测试上线应用程序。如果您编辑了应用程序或上传了新版本,则可以在发布前点击测试未发布的应用程序按钮对其进行测试。
应用程序验证
为确保自定义JavaScript应用程序按预期运行,请在将应用程序上传到ITM门户时通过代码和逻辑验证器运行该应用程序。应用程序验证程序通过具有合成流量的决策服务器运行应用程序,以测试应用程序是否成功编译和运行。
如果应用程序运行没有错误,则验证程序将提供有关决策分布和执行特征的信息。另一方面,如果决策服务器在运行应用程序时遇到错误,则验证程序会提供有关错误的信息。我们建议应用程序在发布之前必须没有错误。
如果出现错误,您可以在本地修复JavaScript文件,然后单击”选择文件按钮将其重新上传到门户。
发布
要发布您的应用并使其上线,请点击发布按钮。如果应用程序尚未保存或已发布,则此选项将显示为灰色。当应用上线时,它将显示在Openmix应用程序管理器页面中为绿色状态。要了解有关应用程序状态的更多信息,请参阅应用程序状态部分。
注意:如有必要,应用程序发布时会出现错误。
管理自定义JavaScript
使用应用程序管理器面板中的顶部选项卡查看报告、编辑、复制、删除、发布、查看源代码、查看实时版本、查看历史记录。
在Openmix应用程序列表页中单击您的应用程序以展开应用程序管理器面板。
查看报告
查看报告将带您进入Openmix决策报告页面,在该页面中,您可以查看每个应用程序,平台和地理位置的Openmix决策趋势。
编辑
要编辑Openmix自定义Javascript应用程序,请单击应用程序名称(在Openmix应用程序列表页中)。应用程序管理器面板随即打开。可以通过单击”编辑图标对配置进行更改和更新。
查看源代码
查看源代码允许您查看应用程序的JavaScript源代码,即应用程序的最新版本是否已发布。此选项仅适用于自定义JavaScript应用程序。
查看直播版
您可以查看、复制和下载最新发布的应用程序版本。此选项仅适用于自定义JavaScript应用程序。
申请历史记录
应用程序历史记录允许您查看应用程序的不同版本。您可以使用”选择版本列表从实时版本切换到旧版本。单击”获取内容以切换到旧版本。此选项仅适用于自定义JavaScript应用程序。
比较
”比较功能允许您比较不同版本的JavaScript文件。您可以看到您的应用程序的两个版本之间的差异,并用突出显示的脚本行清楚地显示。
删除
要删除Openmix应用程序,请单击应用程序名称(在Openmix应用程序列表页中)。应用程序管理器面板随即打开。单击”删除“图标,然后在确认对话框中选择”删除按钮。该应用程序将从列表中消失。
还原应用程序
”还原应用程序功能允许您在应用程序被删除后重新启用该应用程序。要还原应用程序,请执行以下操作:
- 单击页面右上角的添加 +图标。
从下拉菜单中选择”还原应用程序”。将打开”还原应用程序窗口。
- 从列表中找到要重新启用的应用程序,然后单击其对应的”还原按钮。
该应用程序将以相同的状态放回Openmix页面的列表中。
局部持久性
当为Openmix应用程序启用本地持久性功能时,该功能可提供决策粘性。这些请求使用IP子网掩码进行标识,其长度是可配置的。例如,当客户端在特定时段内向同一应用程序重复请求时,原始决策将被送回。当要求客户在特定会话期间不要在不同的决策之间跳动时,它可能是一项必不可少的功能。它可用于DNS或HTTP Openmix应用程序。
由于该机制的潜在自然限制,不能保证 100% 的请求都具有持久性。相反,采用了尽力而为的方法。测试表明,预期的持久性精度在95-97%之间。
注意:
要为您的帐户启用“本地持久性”功能,请开立支持票证或联系您的客户成功经理。此外,还需要一个预测型DNS区域,该区域配置了名称服务器
ns5.cedexis.net
和ns6.cedexis.net
。考虑一下DNS区域更新可能需要很长时间才能在互联网上传播。
配置
要启用本地持久性,请在Openmix应用程序选项下选择"持久性控制" > "编辑"。
可用设置如下所示:
在“配置”对话框中,输入”持久性TTL”。默认选项为 300 秒。允许值介于 60 和 1440 之间。发出初始请求后,所提供的 DNS 决策最多保留 300 秒。如果另一个请求在到期前来自系统中的同一 IP 子网范围,则会做出同样的决定。
IPv4和IPv6掩码均用于设置持久性粘性的粒度。IPv4和IPv6的默认值分别为" /32 "和" /64 "。允许的值有:
- /8到/32,对于IPv4
- /32到/64,适用于IPv6
对客户端IP地址的这种屏蔽决定了内部数据存储中使用的持久性密钥。例如,如果两个(或多个)客户端IP映射到同一个屏蔽的IP地址,则它们将获得相同的持久决策。
同样的设置在预测应用程序设置下也可用。
通过内部数据存储提供的Openmix决策在决策报告中使用原因代码PersIstent应用程序进行报告。
运行状况检查
从持久性缓存中提供的决策在提供之前需要进行额外的运行状况检查:
如果应用程序配置了声纳可用性检查,则在执行缓存决策之前会检查声纳可用性运行状况。如果声纳报告平台“关闭”,则会忽略缓存的决定,并再次运行OpenMix应用程序。
如果应用程序配置了雷达可用性检查,则在执行缓存决策之前会检查雷达可用性运行状况。如果平台的可用性低于配置的阈值,则会忽略缓存的决定。
注意:
对于持久性,雷达可用性运行状况的最大阈值设置为固定的10%。
保护Openmix HTTP API
Openmix可通过DNS或HTTP API获得,用于集成到非DNS工作流中。默认情况下,http API是通过纯http调用的。也可以通过TLS和密钥身份验证来保护api。通过选中”需要安全API访问(https)复选框即可通过UI完成。
创建API密钥
要启用密钥身份验证,请执行以下操作。
在Op混合应用程序配置页面中选中要求安全API访问(https)复选框,为每个应用程序启用安全访问。
要生成安全访问密钥,请导航到我的帐户->API->Openmix HTTP API密钥
- 如果您是初次使用的用户,系统会提示您输入客户端id以开始使用。在“新建客户端”对话框中输入您的客户端ID,然后单击”完成”。
在Openmix HTTP API身份验证配置页面上,客户端密钥显示在客户端id旁边。
现在,您可以使用基本身份验证向Openmix应用程序发出请求。使用您的客户端id作为用户名,使用客户端密钥作为密码在浏览器上调用应用程序。
要使用命令行调用应用程序,请使用以下cURL命令:
Curl https://hopx.cedexis.com/zones/
/customers/ /apps/ /decision——user :
注意:通过您创建的密钥,您可以访问任何Openmix应用程序。
有关调用Openmix HTTP API的更多信息,请参阅Openmix HTTP API使用文档。
删除API密钥
- 要删除密钥,请导航到Openmix HTTP API身份验证配置页面。
- 单击”客户端id”。
- 在列表中选择”删除”。密钥已从系统中移除。它对身份验证或安全访问Openmix应用程序无效。
访问日志
Openmix制作的决策日志可以收集并可供安全下载。这些日志可以帮助您分析Openmix应用程序做出的决策和调试请求行为。日志可以在帐户级别打开/关闭并保护。有关如何启用和下载 Openmix 日志以及日志说明的详细信息,请访问Netscope。
Openmix报告
Openmix报告为您的DNS或HTTP流量所做的Openmix决策提供了强大的可见性。每个报告都在以下部分中定义,但下面是有关报告的一些重要方面:
主要和次要尺寸
图表的主要维度是通过图表上方的列表选择的。使用此列表作为报告的有力支点。也可以选择次要维度来进一步完善报告。
切换可视化背景
默认情况下,图表设置为白色背景。使用背景开关将高对比度显示器的背景切换为深色。
数据导出
此外,最终用户可以通过报告顶部的下载链接下载图表和表格数据。
筛选器:报告时间范围
您可以生成时间范围为过去 60 分钟、24 小时、48 小时、7 天、30 天或自定义范围的报告。默认视图为“最近24小时”。
筛选器:强大的向下钻取功能
根据数据,报告在哪些筛选器适合方面略有不同。以下是最常见的:
- 统计数据-选择图表中显示的值,通常是决策数。
- 流量来源—选择要显示的流量类型:dns或http。
- 应用程序-选择一个或多个要显示的Openmix应用程序。
- 平台—选择要包括的一个或多个平台(提供商)。
- 大陆-选择要包括的一个或多个大洲。
- 国家/地区—选择要包括的一个或多个国家/地区。
- 区域—选择一个或多个要包括的地理区域(如果适用)。
- 州—选择一个或多个要包括的地理州(如果适用)。
- 网络—选择要包括的一个或多个网络(asn)。
福利报告
使用智能流量管理(itm)服务时,“收益”报告为您提供了应用程序交付性能的总体改进。收益显示为响应时间和吞吐量提高的百分比。从候选平台池中选择一个特定的平台来生成报告。
福利报告的主要维度
主要维度是显示收益报告的独立度量。以下各节详细描述了这些主要维度。
摘要
摘要是默认的主要维度。摘要图表显示了从所有应用程序获得的总收益百分比(以响应时间或吞吐量而言)的平均值。
注意:您可以使用统计数据筛选器在响应时间或吞吐量方面显示的优势之间切换。
应用程序
当选择应用程序作为主要维度时,图表将显示每个应用程序和相应的性能(以响应时间或吞吐量而言),以选择某个平台优于其他候选平台的百分比收益。
注意:0% 表示选择一个特定平台而不是另一个平台没有额外的好处或改进。
地点(大陆、国家、地区、州)
选择地点(大陆、国家、地区或州)作为主要维度时,收益报告将显示每个地点的绩效改善总百分比(以响应时间或吞吐量而言)的平均值。您可以按大陆、国家、地区或州选择位置。
注意:由于地理位置规则或任何其他原因而不符合选择条件的平台不计入计算中。但是,将针对相关位置进行地理围栏的平台计算在内。
网络
选择”网络“作为主要维度时,您会看到分组到用户访问ITM的特定网络(或服务提供商)中的用户的性能提高百分比。它可以帮助您了解哪些用户组在来自这些特定网络时看到了性能优势。
平台
当您选择平台作为主要维度时,您会看到由不同应用选择的各个平台以及选择它们时相应的性能提高。改进的性能或优势在于响应时间或吞吐量(百分比)。
注意:应用选择该平台时显示的性能改善百分比。图表上的列表不一定表示这些平台之间的性能排名。
原因代码
选择原因代码作为主要维度时,图表中显示的百分比是针对特定原因代码做出决策时的总体平均收益。
忽略福利报告中的平台
为了提高收益报告的Openmix决策的准确性,您可以选择忽略某些平台,并将应用程序设置为仅从最适合比较的平台中进行选择。
例如,您的应用程序有五个平台可供比较——三个在欧洲用于欧洲流量,两个在美国用于美国流量。地理位置规则规定,欧洲流量必须通过欧洲平台,而美国的流量必须通过美国平台。
为确保使用三个欧洲平台进行计算,您可以将应用程序设置为忽略其他两个非欧洲平台。在您的JavaScript中使用ignoredProvider ()
方法。
该方法采用提供程序的别名(例如provider-1
、提供商2
)作为输入参数(与requireProvider()方法非常相似)。每个别名必须调用一次api。
在onRequest
函数的JavaScript文件中使用以下示例代码:
function onRequest(request, response) {response. ignoredprovider ('provider-1');response.ignoredProvider(“提供商2”);响应。setReasonCode('忽略提供者-1和提供者-2');response.setTTL (this.__defaultTTL);响应。回应(“provider-3”、“cmg.test.fake.cname”);} < !——NeedCopy >
决策地理位置报告
此报告显示了每个国家/地区的Openmix决策量。通过选择图表底部的”播放按钮,可以随时间查看此地图视图(基于为报告选择的时间范围)。
决策报告
此报告显示了每个应用程序,平台和地理区域的Openmix决策趋势。