关闭
透过NS1实践CDN整合应用

内容传递网路(Content Delivery Network,简称CDN)应用广泛,支援多种行业和场景的内容加速,例如:大型档案下载、视音点播和直播媒体。而NS1是一间以强大和灵活策略决策引擎来作域名解析的服务供应商。透过整合NS1和分布在不同地区的CDN服务,客户可以更有效的分配流量。

应用场景:

  • 客户需要发布大流量的直播内容
  • 除了南美的国家,全球各地都是目标听众群
  • 假设南美的国家因为某些原因不容许连上有关直播媒体,并会在尝试进入时被导向至一个显示403禁止讯息的网站
  • 使用不同服务供应商的CDN来加速内容。中国地区的访问会平均分配使用阿里云和腾讯云的CDN,中国以外地区会使用AWS Cloudfront
  • 使用NS1作为直播域名解析

NS1配置说明:
在设计的场景中,需要根据访问者的地区来分配流量到不同的CDN,这需求可以利用NS1提供的 Geofence filter来作筛选。 NS1会根据访问者的IP地址比对NS1的庞大数据库来判断访问者的所属地区,然后会按照在NS1所配置的策略去回覆适当的CDN域名解析。因为中国地区的访问需要平均分配到两个不同的CDN,在中国地区的域名解析会加上一个Weighted Shuffle (加权洗牌)来作为筛选。

在NS1的配置流程示意图如下:

如何透过NS1来更有效的让CDN整合应用?


NS1配置步骤:

  1. 在NS1 里添加一个 CNAME 域名记录,访问者会利用这个 CNAME 作访问。
         如何透过NS1来更有效的让CDN整合应用?
 
  1. 把不同服务商的CDN接点CNAME、和用作显示403讯息的网站域名作为答案。以下为示范。
        如何透过NS1来更有效的让CDN整合应用?
 
  1. 建立三个回应组(Answer group)并把对应答案放到回应组之下。

      如何透过NS1来更有效的让CDN整合应用?

 
  1. 更改策略决策
      如何透过NS1来更有效的让CDN整合应用?
 
  1. 把以下筛选顺序加到策略决策链

      如何透过NS1来更有效的让CDN整合应用?

 
  1. 按照所需的地区分配到相关的回应组。中国的答案需要加上权重比例。

     如何透过NS1来更有效的让CDN整合应用?           
 
     如何透过NS1来更有效的让CDN整合应用? 

     如何透过NS1来更有效的让CDN整合应用?

示范测试

  1. 模拟从南美访问
      如何透过NS1来更有效的让CDN整合应用?

首先在南美地区建置一台机器作访问用途,可以看到从这台机器访问www.higherlive.com的时候,域名的回复是reject.higherlive.com的IP地址。   
如何透过NS1来更有效的让CDN整合应用?

如果在这台位于南美的机器上使用浏览器访问 www.higherlive.com,浏览器会被导向至 reject.higherlive.com 的网站并显示预设的网页讯息。

如何透过NS1来更有效的让CDN整合应用?

 
  1. 模拟从中国访问
如何透过NS1来更有效的让CDN整合应用?

在中国地区建一台机器作访问,在同一台机器上我们作了6次的www.higherlive.com 域名访问,可以看到有三次的回应是导向腾讯云CDN接点(黄色的部分),其余三次是导向阿里云CDN接点(红色的部分),这和在NS1里的设定吻合。

如何透过NS1来更有效的让CDN整合应用?

 
  1. 模拟从其他地区访问

如何透过NS1来更有效的让CDN整合应用?

在台湾建置一台机器访问相同的域名 www.higherlive.com,可以发现每一次的回应都是导向 AWS的Cloudfront CDN接点。

如何透过NS1来更有效的让CDN整合应用?

 
结语

从这个简单的示范,可以看到怎样整合NS1和不同的CDN服务,有效地把不同地区的访问流量分配到最佳的CDN线路。这个示范只使用了NS1其中两个策略决策,NS1有超过20个策略决策,其中一些策略会使用到NS1内先进的智能和实时回馈策略(Pulsar RUM ),也可以从第三方整合数据(例如NS1 API, Datadog, Rackspace等),来达到更精细和更复杂的域名解析,用作网路分流,进一步改善访问者的体验。
 



撰写人
如何透过NS1来更有效的让CDN整合应用?

解决方案工程师
覃永德 Barry Chum