'阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力'

"

阿里雲 EMAS HTTPDNS 聯合函數計算重磅推出 SDNS 服務,三大能力獲得突破

1. 什麼是 HTTPDNS ?

傳統的 DNS(Domain Name System)使開發者常面臨著域名劫持、調度不精準的問題。

HTTPDNS 使用 HTTP 協議替換常用的 UDP 協議,完成客戶端和遞歸 DNS 之間的域名解析過程,使得 HTTPDNS 服務器自身可以充當遞歸 DNS ,這樣域名解析請求直接發送到阿里雲的 HTTPDNS 服務器,可以繞過Local DNS運營商 ,避免由於 Local DNS 造成的域名劫持和調度不精準問題。產品原理如下圖所示:

"

阿里雲 EMAS HTTPDNS 聯合函數計算重磅推出 SDNS 服務,三大能力獲得突破

1. 什麼是 HTTPDNS ?

傳統的 DNS(Domain Name System)使開發者常面臨著域名劫持、調度不精準的問題。

HTTPDNS 使用 HTTP 協議替換常用的 UDP 協議,完成客戶端和遞歸 DNS 之間的域名解析過程,使得 HTTPDNS 服務器自身可以充當遞歸 DNS ,這樣域名解析請求直接發送到阿里雲的 HTTPDNS 服務器,可以繞過Local DNS運營商 ,避免由於 Local DNS 造成的域名劫持和調度不精準問題。產品原理如下圖所示:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖1 架構原理圖

2.SDNS 軟件定義解析

雖然,HTTPDNS 在域名劫持和調度上,相對傳統 DNS 已經有了質的飛躍,但是還存在如下不足:

(1)【權威 DNS 存在不足】傳統權威 DNS 的功能非常有限,且不同供應商提供的能力參差不齊,有優化空間;

(2)【無法優化結果】HTTPDNS 充當遞歸DNS的功能時,無法改變權威 DNS 解析的結果;

(3)【缺乏管理】客戶域名解析缺乏集中管理,大型客戶的域名解析往往分佈在多個 DNS 供應商。

而 SDNS 不僅可以幫助開發者進一步優化調度質量,而且可以結合函數計算等能力,擴展 HTTPDNS 的服務邊界,提供了用戶自定義的處理邏輯,讓業務更加方便靈活。

2.1 什麼是 SDNS ?

SDNS(Software-Defined Name System,簡稱SDNS)即軟件定義解析,是在 HTTPDNS 的基礎上,創造性的引入了自定義解析功能。其主要特性有:

(1)支持客戶端自定義參數輸入;

(2)HTTPDNS 服務器端結合自定義函數處理能力,支持客戶實現複雜的自定義解析功能;

(3)返回自定義解析結果給客戶端。

2.2 SDNS 的三大能力

SDNS 在功能上完成了三個方面的飛躍:

(1)自定義能力

  • 域名解析過程,可以基於自身業務訴求和實際檢測數據情況,改進權威解析結果,實現業務最優。

(2)服務擴展能力

  • 不再侷限於域名解析調度。例如可以結合函數計算等雲服務,豐富和擴展自身業務能力。

(3)系統調度能力

  • 由於域名解析過程可以定義,可以修改權威的結果,增加額外的數據信息,客戶可以在現有服務的基礎上,整合各個權威 DNS 服務,規避由於多權威 DNS 不規範所導致的調度質量不夠高的問題。

2.3 SDNS 使用指南

基於跟函數計算進行業務的整合,SDNS 可以實現多種能力。

SDNS 可以在解析的過程中,在指定的階段執行由客戶編寫的函數計算(FC)的函數邏輯,並提供以下能力:

(1)獲取客戶IP所在的所在地域及運營商信息;

(2)修改域名解析結果及 TTL 時間;

(3)添加自定義的數據輸出,與解析結果一起返回。

SDNS 可以將運行時上下文輸入給函數計算(FC)的函數,允許客戶定義邏輯來處理這些數據。並將處理後的結果合併回SDNS 解析流程中。

SDNS 的系統架構如下:

"

阿里雲 EMAS HTTPDNS 聯合函數計算重磅推出 SDNS 服務,三大能力獲得突破

1. 什麼是 HTTPDNS ?

傳統的 DNS(Domain Name System)使開發者常面臨著域名劫持、調度不精準的問題。

HTTPDNS 使用 HTTP 協議替換常用的 UDP 協議,完成客戶端和遞歸 DNS 之間的域名解析過程,使得 HTTPDNS 服務器自身可以充當遞歸 DNS ,這樣域名解析請求直接發送到阿里雲的 HTTPDNS 服務器,可以繞過Local DNS運營商 ,避免由於 Local DNS 造成的域名劫持和調度不精準問題。產品原理如下圖所示:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖1 架構原理圖

2.SDNS 軟件定義解析

雖然,HTTPDNS 在域名劫持和調度上,相對傳統 DNS 已經有了質的飛躍,但是還存在如下不足:

(1)【權威 DNS 存在不足】傳統權威 DNS 的功能非常有限,且不同供應商提供的能力參差不齊,有優化空間;

(2)【無法優化結果】HTTPDNS 充當遞歸DNS的功能時,無法改變權威 DNS 解析的結果;

(3)【缺乏管理】客戶域名解析缺乏集中管理,大型客戶的域名解析往往分佈在多個 DNS 供應商。

而 SDNS 不僅可以幫助開發者進一步優化調度質量,而且可以結合函數計算等能力,擴展 HTTPDNS 的服務邊界,提供了用戶自定義的處理邏輯,讓業務更加方便靈活。

2.1 什麼是 SDNS ?

SDNS(Software-Defined Name System,簡稱SDNS)即軟件定義解析,是在 HTTPDNS 的基礎上,創造性的引入了自定義解析功能。其主要特性有:

(1)支持客戶端自定義參數輸入;

(2)HTTPDNS 服務器端結合自定義函數處理能力,支持客戶實現複雜的自定義解析功能;

(3)返回自定義解析結果給客戶端。

2.2 SDNS 的三大能力

SDNS 在功能上完成了三個方面的飛躍:

(1)自定義能力

  • 域名解析過程,可以基於自身業務訴求和實際檢測數據情況,改進權威解析結果,實現業務最優。

(2)服務擴展能力

  • 不再侷限於域名解析調度。例如可以結合函數計算等雲服務,豐富和擴展自身業務能力。

(3)系統調度能力

  • 由於域名解析過程可以定義,可以修改權威的結果,增加額外的數據信息,客戶可以在現有服務的基礎上,整合各個權威 DNS 服務,規避由於多權威 DNS 不規範所導致的調度質量不夠高的問題。

2.3 SDNS 使用指南

基於跟函數計算進行業務的整合,SDNS 可以實現多種能力。

SDNS 可以在解析的過程中,在指定的階段執行由客戶編寫的函數計算(FC)的函數邏輯,並提供以下能力:

(1)獲取客戶IP所在的所在地域及運營商信息;

(2)修改域名解析結果及 TTL 時間;

(3)添加自定義的數據輸出,與解析結果一起返回。

SDNS 可以將運行時上下文輸入給函數計算(FC)的函數,允許客戶定義邏輯來處理這些數據。並將處理後的結果合併回SDNS 解析流程中。

SDNS 的系統架構如下:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖2 架構原理圖

阿里雲 SDNS 實現自定義解析的核心是引入函數計算服務。

"

阿里雲 EMAS HTTPDNS 聯合函數計算重磅推出 SDNS 服務,三大能力獲得突破

1. 什麼是 HTTPDNS ?

傳統的 DNS(Domain Name System)使開發者常面臨著域名劫持、調度不精準的問題。

HTTPDNS 使用 HTTP 協議替換常用的 UDP 協議,完成客戶端和遞歸 DNS 之間的域名解析過程,使得 HTTPDNS 服務器自身可以充當遞歸 DNS ,這樣域名解析請求直接發送到阿里雲的 HTTPDNS 服務器,可以繞過Local DNS運營商 ,避免由於 Local DNS 造成的域名劫持和調度不精準問題。產品原理如下圖所示:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖1 架構原理圖

2.SDNS 軟件定義解析

雖然,HTTPDNS 在域名劫持和調度上,相對傳統 DNS 已經有了質的飛躍,但是還存在如下不足:

(1)【權威 DNS 存在不足】傳統權威 DNS 的功能非常有限,且不同供應商提供的能力參差不齊,有優化空間;

(2)【無法優化結果】HTTPDNS 充當遞歸DNS的功能時,無法改變權威 DNS 解析的結果;

(3)【缺乏管理】客戶域名解析缺乏集中管理,大型客戶的域名解析往往分佈在多個 DNS 供應商。

而 SDNS 不僅可以幫助開發者進一步優化調度質量,而且可以結合函數計算等能力,擴展 HTTPDNS 的服務邊界,提供了用戶自定義的處理邏輯,讓業務更加方便靈活。

2.1 什麼是 SDNS ?

SDNS(Software-Defined Name System,簡稱SDNS)即軟件定義解析,是在 HTTPDNS 的基礎上,創造性的引入了自定義解析功能。其主要特性有:

(1)支持客戶端自定義參數輸入;

(2)HTTPDNS 服務器端結合自定義函數處理能力,支持客戶實現複雜的自定義解析功能;

(3)返回自定義解析結果給客戶端。

2.2 SDNS 的三大能力

SDNS 在功能上完成了三個方面的飛躍:

(1)自定義能力

  • 域名解析過程,可以基於自身業務訴求和實際檢測數據情況,改進權威解析結果,實現業務最優。

(2)服務擴展能力

  • 不再侷限於域名解析調度。例如可以結合函數計算等雲服務,豐富和擴展自身業務能力。

(3)系統調度能力

  • 由於域名解析過程可以定義,可以修改權威的結果,增加額外的數據信息,客戶可以在現有服務的基礎上,整合各個權威 DNS 服務,規避由於多權威 DNS 不規範所導致的調度質量不夠高的問題。

2.3 SDNS 使用指南

基於跟函數計算進行業務的整合,SDNS 可以實現多種能力。

SDNS 可以在解析的過程中,在指定的階段執行由客戶編寫的函數計算(FC)的函數邏輯,並提供以下能力:

(1)獲取客戶IP所在的所在地域及運營商信息;

(2)修改域名解析結果及 TTL 時間;

(3)添加自定義的數據輸出,與解析結果一起返回。

SDNS 可以將運行時上下文輸入給函數計算(FC)的函數,允許客戶定義邏輯來處理這些數據。並將處理後的結果合併回SDNS 解析流程中。

SDNS 的系統架構如下:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖2 架構原理圖

阿里雲 SDNS 實現自定義解析的核心是引入函數計算服務。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖3 自定義解析功能原理圖

HTTPDNS 通過為以下5個階段之間提供 Hook 點,並通過引入函數計算在這些 Hook 點實現自定義函數功能。

"

阿里雲 EMAS HTTPDNS 聯合函數計算重磅推出 SDNS 服務,三大能力獲得突破

1. 什麼是 HTTPDNS ?

傳統的 DNS(Domain Name System)使開發者常面臨著域名劫持、調度不精準的問題。

HTTPDNS 使用 HTTP 協議替換常用的 UDP 協議,完成客戶端和遞歸 DNS 之間的域名解析過程,使得 HTTPDNS 服務器自身可以充當遞歸 DNS ,這樣域名解析請求直接發送到阿里雲的 HTTPDNS 服務器,可以繞過Local DNS運營商 ,避免由於 Local DNS 造成的域名劫持和調度不精準問題。產品原理如下圖所示:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖1 架構原理圖

2.SDNS 軟件定義解析

雖然,HTTPDNS 在域名劫持和調度上,相對傳統 DNS 已經有了質的飛躍,但是還存在如下不足:

(1)【權威 DNS 存在不足】傳統權威 DNS 的功能非常有限,且不同供應商提供的能力參差不齊,有優化空間;

(2)【無法優化結果】HTTPDNS 充當遞歸DNS的功能時,無法改變權威 DNS 解析的結果;

(3)【缺乏管理】客戶域名解析缺乏集中管理,大型客戶的域名解析往往分佈在多個 DNS 供應商。

而 SDNS 不僅可以幫助開發者進一步優化調度質量,而且可以結合函數計算等能力,擴展 HTTPDNS 的服務邊界,提供了用戶自定義的處理邏輯,讓業務更加方便靈活。

2.1 什麼是 SDNS ?

SDNS(Software-Defined Name System,簡稱SDNS)即軟件定義解析,是在 HTTPDNS 的基礎上,創造性的引入了自定義解析功能。其主要特性有:

(1)支持客戶端自定義參數輸入;

(2)HTTPDNS 服務器端結合自定義函數處理能力,支持客戶實現複雜的自定義解析功能;

(3)返回自定義解析結果給客戶端。

2.2 SDNS 的三大能力

SDNS 在功能上完成了三個方面的飛躍:

(1)自定義能力

  • 域名解析過程,可以基於自身業務訴求和實際檢測數據情況,改進權威解析結果,實現業務最優。

(2)服務擴展能力

  • 不再侷限於域名解析調度。例如可以結合函數計算等雲服務,豐富和擴展自身業務能力。

(3)系統調度能力

  • 由於域名解析過程可以定義,可以修改權威的結果,增加額外的數據信息,客戶可以在現有服務的基礎上,整合各個權威 DNS 服務,規避由於多權威 DNS 不規範所導致的調度質量不夠高的問題。

2.3 SDNS 使用指南

基於跟函數計算進行業務的整合,SDNS 可以實現多種能力。

SDNS 可以在解析的過程中,在指定的階段執行由客戶編寫的函數計算(FC)的函數邏輯,並提供以下能力:

(1)獲取客戶IP所在的所在地域及運營商信息;

(2)修改域名解析結果及 TTL 時間;

(3)添加自定義的數據輸出,與解析結果一起返回。

SDNS 可以將運行時上下文輸入給函數計算(FC)的函數,允許客戶定義邏輯來處理這些數據。並將處理後的結果合併回SDNS 解析流程中。

SDNS 的系統架構如下:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖2 架構原理圖

阿里雲 SDNS 實現自定義解析的核心是引入函數計算服務。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖3 自定義解析功能原理圖

HTTPDNS 通過為以下5個階段之間提供 Hook 點,並通過引入函數計算在這些 Hook 點實現自定義函數功能。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

Demo Hook 函數實現了兩個功能:

(1)為返回結果增加一個 IP;

(2)為返回結果增加了“extra”字段。

'use strict';
exports.handler = function (event, context, callback) {
// 解析傳入的入參

/*
event = {
"domainName": "www.aliyun.com.", // 注意後綴有個點
"clientIp": "42.120.75.128",
"location": {
"continent": "asia",
"country": "china",
"isp": "bgp", // <cmcc|unicom|chinanet|bgp|unknown>
"city": "zhejiang"
},
"ips": ["140.205.135.3"],
"ttl": 60
}
*/
event = JSON.parse(event.toString());
// callback 第一個參數是exception,第二個參數是出參,會被自動JSON化
callback(null, {
ips: event.ips.concat(['188.177.166.155']),
ttl: event.ttl * 2,
extra: "some-thing-send-to-user"
});
};

詳細使用說明:https://help.aliyun.com/document_detail/121293.html

2.4 SDNS的應用場景

【場景一】縮短域名生效時間

基於 SDNS ,可以縮短 OTT 時間,當遭遇到網絡攻擊後,及時調整 OTT 時間,將業務及時切換到阿里雲高防,既保障了業務安全,又優化了自身成本。

案例:

客戶服務遭到 DDOS 攻擊,出現服務延遲甚至不可用。客戶可以使用 SDNS 服務,在遭到攻擊時,通過調整 OTT 生效時間,快速地將服務切換至高防 IP 完成清洗,保障服務的可用性。

【場景二】定向調度流量

以直播為例,北京地區準備開展一次大型直播,服務器面臨巨大流量壓力會導致擁塞和延時追趕。接入 SDNS 後,非直播流量調度到其它服務地區,避免流量陡增造成的問題,直播結束後再切回。定向調度能有效緩解流量壓力,保障和提升直播的體驗。

"

阿里雲 EMAS HTTPDNS 聯合函數計算重磅推出 SDNS 服務,三大能力獲得突破

1. 什麼是 HTTPDNS ?

傳統的 DNS(Domain Name System)使開發者常面臨著域名劫持、調度不精準的問題。

HTTPDNS 使用 HTTP 協議替換常用的 UDP 協議,完成客戶端和遞歸 DNS 之間的域名解析過程,使得 HTTPDNS 服務器自身可以充當遞歸 DNS ,這樣域名解析請求直接發送到阿里雲的 HTTPDNS 服務器,可以繞過Local DNS運營商 ,避免由於 Local DNS 造成的域名劫持和調度不精準問題。產品原理如下圖所示:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖1 架構原理圖

2.SDNS 軟件定義解析

雖然,HTTPDNS 在域名劫持和調度上,相對傳統 DNS 已經有了質的飛躍,但是還存在如下不足:

(1)【權威 DNS 存在不足】傳統權威 DNS 的功能非常有限,且不同供應商提供的能力參差不齊,有優化空間;

(2)【無法優化結果】HTTPDNS 充當遞歸DNS的功能時,無法改變權威 DNS 解析的結果;

(3)【缺乏管理】客戶域名解析缺乏集中管理,大型客戶的域名解析往往分佈在多個 DNS 供應商。

而 SDNS 不僅可以幫助開發者進一步優化調度質量,而且可以結合函數計算等能力,擴展 HTTPDNS 的服務邊界,提供了用戶自定義的處理邏輯,讓業務更加方便靈活。

2.1 什麼是 SDNS ?

SDNS(Software-Defined Name System,簡稱SDNS)即軟件定義解析,是在 HTTPDNS 的基礎上,創造性的引入了自定義解析功能。其主要特性有:

(1)支持客戶端自定義參數輸入;

(2)HTTPDNS 服務器端結合自定義函數處理能力,支持客戶實現複雜的自定義解析功能;

(3)返回自定義解析結果給客戶端。

2.2 SDNS 的三大能力

SDNS 在功能上完成了三個方面的飛躍:

(1)自定義能力

  • 域名解析過程,可以基於自身業務訴求和實際檢測數據情況,改進權威解析結果,實現業務最優。

(2)服務擴展能力

  • 不再侷限於域名解析調度。例如可以結合函數計算等雲服務,豐富和擴展自身業務能力。

(3)系統調度能力

  • 由於域名解析過程可以定義,可以修改權威的結果,增加額外的數據信息,客戶可以在現有服務的基礎上,整合各個權威 DNS 服務,規避由於多權威 DNS 不規範所導致的調度質量不夠高的問題。

2.3 SDNS 使用指南

基於跟函數計算進行業務的整合,SDNS 可以實現多種能力。

SDNS 可以在解析的過程中,在指定的階段執行由客戶編寫的函數計算(FC)的函數邏輯,並提供以下能力:

(1)獲取客戶IP所在的所在地域及運營商信息;

(2)修改域名解析結果及 TTL 時間;

(3)添加自定義的數據輸出,與解析結果一起返回。

SDNS 可以將運行時上下文輸入給函數計算(FC)的函數,允許客戶定義邏輯來處理這些數據。並將處理後的結果合併回SDNS 解析流程中。

SDNS 的系統架構如下:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖2 架構原理圖

阿里雲 SDNS 實現自定義解析的核心是引入函數計算服務。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖3 自定義解析功能原理圖

HTTPDNS 通過為以下5個階段之間提供 Hook 點,並通過引入函數計算在這些 Hook 點實現自定義函數功能。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

Demo Hook 函數實現了兩個功能:

(1)為返回結果增加一個 IP;

(2)為返回結果增加了“extra”字段。

'use strict';
exports.handler = function (event, context, callback) {
// 解析傳入的入參

/*
event = {
"domainName": "www.aliyun.com.", // 注意後綴有個點
"clientIp": "42.120.75.128",
"location": {
"continent": "asia",
"country": "china",
"isp": "bgp", // <cmcc|unicom|chinanet|bgp|unknown>
"city": "zhejiang"
},
"ips": ["140.205.135.3"],
"ttl": 60
}
*/
event = JSON.parse(event.toString());
// callback 第一個參數是exception,第二個參數是出參,會被自動JSON化
callback(null, {
ips: event.ips.concat(['188.177.166.155']),
ttl: event.ttl * 2,
extra: "some-thing-send-to-user"
});
};

詳細使用說明:https://help.aliyun.com/document_detail/121293.html

2.4 SDNS的應用場景

【場景一】縮短域名生效時間

基於 SDNS ,可以縮短 OTT 時間,當遭遇到網絡攻擊後,及時調整 OTT 時間,將業務及時切換到阿里雲高防,既保障了業務安全,又優化了自身成本。

案例:

客戶服務遭到 DDOS 攻擊,出現服務延遲甚至不可用。客戶可以使用 SDNS 服務,在遭到攻擊時,通過調整 OTT 生效時間,快速地將服務切換至高防 IP 完成清洗,保障服務的可用性。

【場景二】定向調度流量

以直播為例,北京地區準備開展一次大型直播,服務器面臨巨大流量壓力會導致擁塞和延時追趕。接入 SDNS 後,非直播流量調度到其它服務地區,避免流量陡增造成的問題,直播結束後再切回。定向調度能有效緩解流量壓力,保障和提升直播的體驗。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

【場景三】智能調度

傳統 DNS 不對請求來源進行區分,從隨機服務 IP 池中選擇其中一個返回給訪問者。這種調度方式,會對最終用戶的體驗,造成不良影響。

智能調度可以根據解析請求的 IP 地址所歸屬的地域、運營商返回就近的服務器 IP。另外,對於分佈式服務(典型的如 CDN 服務),還可以降低最終用戶訪問服務器的延遲。

一般 DNS 會分地域調度,在CDN 場景下,根據地域自動填充調度路徑;非 CDN 場景則需用戶手動填寫。SDNS 在 CDN 場景下提供 OTT 能力,可以在多個 CDN 之間互相切換,從而實現對調度結果的優化。

案例:

過去解析 aliyun.com ,一定會返回 aliyun.com 的 CDN 廠商A的解析結果。現在基於智能調度,客戶能夠規劃路徑,可以返回n次廠商A,m次廠商B。結合信息擴展字段 extras,還可以告知本次選擇的上下文,方便客戶端做 CDN 廠商性能跟蹤。

"

阿里雲 EMAS HTTPDNS 聯合函數計算重磅推出 SDNS 服務,三大能力獲得突破

1. 什麼是 HTTPDNS ?

傳統的 DNS(Domain Name System)使開發者常面臨著域名劫持、調度不精準的問題。

HTTPDNS 使用 HTTP 協議替換常用的 UDP 協議,完成客戶端和遞歸 DNS 之間的域名解析過程,使得 HTTPDNS 服務器自身可以充當遞歸 DNS ,這樣域名解析請求直接發送到阿里雲的 HTTPDNS 服務器,可以繞過Local DNS運營商 ,避免由於 Local DNS 造成的域名劫持和調度不精準問題。產品原理如下圖所示:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖1 架構原理圖

2.SDNS 軟件定義解析

雖然,HTTPDNS 在域名劫持和調度上,相對傳統 DNS 已經有了質的飛躍,但是還存在如下不足:

(1)【權威 DNS 存在不足】傳統權威 DNS 的功能非常有限,且不同供應商提供的能力參差不齊,有優化空間;

(2)【無法優化結果】HTTPDNS 充當遞歸DNS的功能時,無法改變權威 DNS 解析的結果;

(3)【缺乏管理】客戶域名解析缺乏集中管理,大型客戶的域名解析往往分佈在多個 DNS 供應商。

而 SDNS 不僅可以幫助開發者進一步優化調度質量,而且可以結合函數計算等能力,擴展 HTTPDNS 的服務邊界,提供了用戶自定義的處理邏輯,讓業務更加方便靈活。

2.1 什麼是 SDNS ?

SDNS(Software-Defined Name System,簡稱SDNS)即軟件定義解析,是在 HTTPDNS 的基礎上,創造性的引入了自定義解析功能。其主要特性有:

(1)支持客戶端自定義參數輸入;

(2)HTTPDNS 服務器端結合自定義函數處理能力,支持客戶實現複雜的自定義解析功能;

(3)返回自定義解析結果給客戶端。

2.2 SDNS 的三大能力

SDNS 在功能上完成了三個方面的飛躍:

(1)自定義能力

  • 域名解析過程,可以基於自身業務訴求和實際檢測數據情況,改進權威解析結果,實現業務最優。

(2)服務擴展能力

  • 不再侷限於域名解析調度。例如可以結合函數計算等雲服務,豐富和擴展自身業務能力。

(3)系統調度能力

  • 由於域名解析過程可以定義,可以修改權威的結果,增加額外的數據信息,客戶可以在現有服務的基礎上,整合各個權威 DNS 服務,規避由於多權威 DNS 不規範所導致的調度質量不夠高的問題。

2.3 SDNS 使用指南

基於跟函數計算進行業務的整合,SDNS 可以實現多種能力。

SDNS 可以在解析的過程中,在指定的階段執行由客戶編寫的函數計算(FC)的函數邏輯,並提供以下能力:

(1)獲取客戶IP所在的所在地域及運營商信息;

(2)修改域名解析結果及 TTL 時間;

(3)添加自定義的數據輸出,與解析結果一起返回。

SDNS 可以將運行時上下文輸入給函數計算(FC)的函數,允許客戶定義邏輯來處理這些數據。並將處理後的結果合併回SDNS 解析流程中。

SDNS 的系統架構如下:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖2 架構原理圖

阿里雲 SDNS 實現自定義解析的核心是引入函數計算服務。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖3 自定義解析功能原理圖

HTTPDNS 通過為以下5個階段之間提供 Hook 點,並通過引入函數計算在這些 Hook 點實現自定義函數功能。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

Demo Hook 函數實現了兩個功能:

(1)為返回結果增加一個 IP;

(2)為返回結果增加了“extra”字段。

'use strict';
exports.handler = function (event, context, callback) {
// 解析傳入的入參

/*
event = {
"domainName": "www.aliyun.com.", // 注意後綴有個點
"clientIp": "42.120.75.128",
"location": {
"continent": "asia",
"country": "china",
"isp": "bgp", // <cmcc|unicom|chinanet|bgp|unknown>
"city": "zhejiang"
},
"ips": ["140.205.135.3"],
"ttl": 60
}
*/
event = JSON.parse(event.toString());
// callback 第一個參數是exception,第二個參數是出參,會被自動JSON化
callback(null, {
ips: event.ips.concat(['188.177.166.155']),
ttl: event.ttl * 2,
extra: "some-thing-send-to-user"
});
};

詳細使用說明:https://help.aliyun.com/document_detail/121293.html

2.4 SDNS的應用場景

【場景一】縮短域名生效時間

基於 SDNS ,可以縮短 OTT 時間,當遭遇到網絡攻擊後,及時調整 OTT 時間,將業務及時切換到阿里雲高防,既保障了業務安全,又優化了自身成本。

案例:

客戶服務遭到 DDOS 攻擊,出現服務延遲甚至不可用。客戶可以使用 SDNS 服務,在遭到攻擊時,通過調整 OTT 生效時間,快速地將服務切換至高防 IP 完成清洗,保障服務的可用性。

【場景二】定向調度流量

以直播為例,北京地區準備開展一次大型直播,服務器面臨巨大流量壓力會導致擁塞和延時追趕。接入 SDNS 後,非直播流量調度到其它服務地區,避免流量陡增造成的問題,直播結束後再切回。定向調度能有效緩解流量壓力,保障和提升直播的體驗。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

【場景三】智能調度

傳統 DNS 不對請求來源進行區分,從隨機服務 IP 池中選擇其中一個返回給訪問者。這種調度方式,會對最終用戶的體驗,造成不良影響。

智能調度可以根據解析請求的 IP 地址所歸屬的地域、運營商返回就近的服務器 IP。另外,對於分佈式服務(典型的如 CDN 服務),還可以降低最終用戶訪問服務器的延遲。

一般 DNS 會分地域調度,在CDN 場景下,根據地域自動填充調度路徑;非 CDN 場景則需用戶手動填寫。SDNS 在 CDN 場景下提供 OTT 能力,可以在多個 CDN 之間互相切換,從而實現對調度結果的優化。

案例:

過去解析 aliyun.com ,一定會返回 aliyun.com 的 CDN 廠商A的解析結果。現在基於智能調度,客戶能夠規劃路徑,可以返回n次廠商A,m次廠商B。結合信息擴展字段 extras,還可以告知本次選擇的上下文,方便客戶端做 CDN 廠商性能跟蹤。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

【場景四】自定義線路

當 DNS 請求的 IP 地址歸屬特定 IP 地址段時,返回對應的服務器 IP。

"

阿里雲 EMAS HTTPDNS 聯合函數計算重磅推出 SDNS 服務,三大能力獲得突破

1. 什麼是 HTTPDNS ?

傳統的 DNS(Domain Name System)使開發者常面臨著域名劫持、調度不精準的問題。

HTTPDNS 使用 HTTP 協議替換常用的 UDP 協議,完成客戶端和遞歸 DNS 之間的域名解析過程,使得 HTTPDNS 服務器自身可以充當遞歸 DNS ,這樣域名解析請求直接發送到阿里雲的 HTTPDNS 服務器,可以繞過Local DNS運營商 ,避免由於 Local DNS 造成的域名劫持和調度不精準問題。產品原理如下圖所示:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖1 架構原理圖

2.SDNS 軟件定義解析

雖然,HTTPDNS 在域名劫持和調度上,相對傳統 DNS 已經有了質的飛躍,但是還存在如下不足:

(1)【權威 DNS 存在不足】傳統權威 DNS 的功能非常有限,且不同供應商提供的能力參差不齊,有優化空間;

(2)【無法優化結果】HTTPDNS 充當遞歸DNS的功能時,無法改變權威 DNS 解析的結果;

(3)【缺乏管理】客戶域名解析缺乏集中管理,大型客戶的域名解析往往分佈在多個 DNS 供應商。

而 SDNS 不僅可以幫助開發者進一步優化調度質量,而且可以結合函數計算等能力,擴展 HTTPDNS 的服務邊界,提供了用戶自定義的處理邏輯,讓業務更加方便靈活。

2.1 什麼是 SDNS ?

SDNS(Software-Defined Name System,簡稱SDNS)即軟件定義解析,是在 HTTPDNS 的基礎上,創造性的引入了自定義解析功能。其主要特性有:

(1)支持客戶端自定義參數輸入;

(2)HTTPDNS 服務器端結合自定義函數處理能力,支持客戶實現複雜的自定義解析功能;

(3)返回自定義解析結果給客戶端。

2.2 SDNS 的三大能力

SDNS 在功能上完成了三個方面的飛躍:

(1)自定義能力

  • 域名解析過程,可以基於自身業務訴求和實際檢測數據情況,改進權威解析結果,實現業務最優。

(2)服務擴展能力

  • 不再侷限於域名解析調度。例如可以結合函數計算等雲服務,豐富和擴展自身業務能力。

(3)系統調度能力

  • 由於域名解析過程可以定義,可以修改權威的結果,增加額外的數據信息,客戶可以在現有服務的基礎上,整合各個權威 DNS 服務,規避由於多權威 DNS 不規範所導致的調度質量不夠高的問題。

2.3 SDNS 使用指南

基於跟函數計算進行業務的整合,SDNS 可以實現多種能力。

SDNS 可以在解析的過程中,在指定的階段執行由客戶編寫的函數計算(FC)的函數邏輯,並提供以下能力:

(1)獲取客戶IP所在的所在地域及運營商信息;

(2)修改域名解析結果及 TTL 時間;

(3)添加自定義的數據輸出,與解析結果一起返回。

SDNS 可以將運行時上下文輸入給函數計算(FC)的函數,允許客戶定義邏輯來處理這些數據。並將處理後的結果合併回SDNS 解析流程中。

SDNS 的系統架構如下:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖2 架構原理圖

阿里雲 SDNS 實現自定義解析的核心是引入函數計算服務。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖3 自定義解析功能原理圖

HTTPDNS 通過為以下5個階段之間提供 Hook 點,並通過引入函數計算在這些 Hook 點實現自定義函數功能。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

Demo Hook 函數實現了兩個功能:

(1)為返回結果增加一個 IP;

(2)為返回結果增加了“extra”字段。

'use strict';
exports.handler = function (event, context, callback) {
// 解析傳入的入參

/*
event = {
"domainName": "www.aliyun.com.", // 注意後綴有個點
"clientIp": "42.120.75.128",
"location": {
"continent": "asia",
"country": "china",
"isp": "bgp", // <cmcc|unicom|chinanet|bgp|unknown>
"city": "zhejiang"
},
"ips": ["140.205.135.3"],
"ttl": 60
}
*/
event = JSON.parse(event.toString());
// callback 第一個參數是exception,第二個參數是出參,會被自動JSON化
callback(null, {
ips: event.ips.concat(['188.177.166.155']),
ttl: event.ttl * 2,
extra: "some-thing-send-to-user"
});
};

詳細使用說明:https://help.aliyun.com/document_detail/121293.html

2.4 SDNS的應用場景

【場景一】縮短域名生效時間

基於 SDNS ,可以縮短 OTT 時間,當遭遇到網絡攻擊後,及時調整 OTT 時間,將業務及時切換到阿里雲高防,既保障了業務安全,又優化了自身成本。

案例:

客戶服務遭到 DDOS 攻擊,出現服務延遲甚至不可用。客戶可以使用 SDNS 服務,在遭到攻擊時,通過調整 OTT 生效時間,快速地將服務切換至高防 IP 完成清洗,保障服務的可用性。

【場景二】定向調度流量

以直播為例,北京地區準備開展一次大型直播,服務器面臨巨大流量壓力會導致擁塞和延時追趕。接入 SDNS 後,非直播流量調度到其它服務地區,避免流量陡增造成的問題,直播結束後再切回。定向調度能有效緩解流量壓力,保障和提升直播的體驗。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

【場景三】智能調度

傳統 DNS 不對請求來源進行區分,從隨機服務 IP 池中選擇其中一個返回給訪問者。這種調度方式,會對最終用戶的體驗,造成不良影響。

智能調度可以根據解析請求的 IP 地址所歸屬的地域、運營商返回就近的服務器 IP。另外,對於分佈式服務(典型的如 CDN 服務),還可以降低最終用戶訪問服務器的延遲。

一般 DNS 會分地域調度,在CDN 場景下,根據地域自動填充調度路徑;非 CDN 場景則需用戶手動填寫。SDNS 在 CDN 場景下提供 OTT 能力,可以在多個 CDN 之間互相切換,從而實現對調度結果的優化。

案例:

過去解析 aliyun.com ,一定會返回 aliyun.com 的 CDN 廠商A的解析結果。現在基於智能調度,客戶能夠規劃路徑,可以返回n次廠商A,m次廠商B。結合信息擴展字段 extras,還可以告知本次選擇的上下文,方便客戶端做 CDN 廠商性能跟蹤。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

【場景四】自定義線路

當 DNS 請求的 IP 地址歸屬特定 IP 地址段時,返回對應的服務器 IP。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

【場景五】自定義參數解析

基於自定義參數輸入進行調度,如根據用戶賬號調度(比如不同用戶的上下文信息存儲於不同的服務器中,採用默認的 HTTPDNS 調度策略不合適)。

"

阿里雲 EMAS HTTPDNS 聯合函數計算重磅推出 SDNS 服務,三大能力獲得突破

1. 什麼是 HTTPDNS ?

傳統的 DNS(Domain Name System)使開發者常面臨著域名劫持、調度不精準的問題。

HTTPDNS 使用 HTTP 協議替換常用的 UDP 協議,完成客戶端和遞歸 DNS 之間的域名解析過程,使得 HTTPDNS 服務器自身可以充當遞歸 DNS ,這樣域名解析請求直接發送到阿里雲的 HTTPDNS 服務器,可以繞過Local DNS運營商 ,避免由於 Local DNS 造成的域名劫持和調度不精準問題。產品原理如下圖所示:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖1 架構原理圖

2.SDNS 軟件定義解析

雖然,HTTPDNS 在域名劫持和調度上,相對傳統 DNS 已經有了質的飛躍,但是還存在如下不足:

(1)【權威 DNS 存在不足】傳統權威 DNS 的功能非常有限,且不同供應商提供的能力參差不齊,有優化空間;

(2)【無法優化結果】HTTPDNS 充當遞歸DNS的功能時,無法改變權威 DNS 解析的結果;

(3)【缺乏管理】客戶域名解析缺乏集中管理,大型客戶的域名解析往往分佈在多個 DNS 供應商。

而 SDNS 不僅可以幫助開發者進一步優化調度質量,而且可以結合函數計算等能力,擴展 HTTPDNS 的服務邊界,提供了用戶自定義的處理邏輯,讓業務更加方便靈活。

2.1 什麼是 SDNS ?

SDNS(Software-Defined Name System,簡稱SDNS)即軟件定義解析,是在 HTTPDNS 的基礎上,創造性的引入了自定義解析功能。其主要特性有:

(1)支持客戶端自定義參數輸入;

(2)HTTPDNS 服務器端結合自定義函數處理能力,支持客戶實現複雜的自定義解析功能;

(3)返回自定義解析結果給客戶端。

2.2 SDNS 的三大能力

SDNS 在功能上完成了三個方面的飛躍:

(1)自定義能力

  • 域名解析過程,可以基於自身業務訴求和實際檢測數據情況,改進權威解析結果,實現業務最優。

(2)服務擴展能力

  • 不再侷限於域名解析調度。例如可以結合函數計算等雲服務,豐富和擴展自身業務能力。

(3)系統調度能力

  • 由於域名解析過程可以定義,可以修改權威的結果,增加額外的數據信息,客戶可以在現有服務的基礎上,整合各個權威 DNS 服務,規避由於多權威 DNS 不規範所導致的調度質量不夠高的問題。

2.3 SDNS 使用指南

基於跟函數計算進行業務的整合,SDNS 可以實現多種能力。

SDNS 可以在解析的過程中,在指定的階段執行由客戶編寫的函數計算(FC)的函數邏輯,並提供以下能力:

(1)獲取客戶IP所在的所在地域及運營商信息;

(2)修改域名解析結果及 TTL 時間;

(3)添加自定義的數據輸出,與解析結果一起返回。

SDNS 可以將運行時上下文輸入給函數計算(FC)的函數,允許客戶定義邏輯來處理這些數據。並將處理後的結果合併回SDNS 解析流程中。

SDNS 的系統架構如下:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖2 架構原理圖

阿里雲 SDNS 實現自定義解析的核心是引入函數計算服務。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖3 自定義解析功能原理圖

HTTPDNS 通過為以下5個階段之間提供 Hook 點,並通過引入函數計算在這些 Hook 點實現自定義函數功能。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

Demo Hook 函數實現了兩個功能:

(1)為返回結果增加一個 IP;

(2)為返回結果增加了“extra”字段。

'use strict';
exports.handler = function (event, context, callback) {
// 解析傳入的入參

/*
event = {
"domainName": "www.aliyun.com.", // 注意後綴有個點
"clientIp": "42.120.75.128",
"location": {
"continent": "asia",
"country": "china",
"isp": "bgp", // <cmcc|unicom|chinanet|bgp|unknown>
"city": "zhejiang"
},
"ips": ["140.205.135.3"],
"ttl": 60
}
*/
event = JSON.parse(event.toString());
// callback 第一個參數是exception,第二個參數是出參,會被自動JSON化
callback(null, {
ips: event.ips.concat(['188.177.166.155']),
ttl: event.ttl * 2,
extra: "some-thing-send-to-user"
});
};

詳細使用說明:https://help.aliyun.com/document_detail/121293.html

2.4 SDNS的應用場景

【場景一】縮短域名生效時間

基於 SDNS ,可以縮短 OTT 時間,當遭遇到網絡攻擊後,及時調整 OTT 時間,將業務及時切換到阿里雲高防,既保障了業務安全,又優化了自身成本。

案例:

客戶服務遭到 DDOS 攻擊,出現服務延遲甚至不可用。客戶可以使用 SDNS 服務,在遭到攻擊時,通過調整 OTT 生效時間,快速地將服務切換至高防 IP 完成清洗,保障服務的可用性。

【場景二】定向調度流量

以直播為例,北京地區準備開展一次大型直播,服務器面臨巨大流量壓力會導致擁塞和延時追趕。接入 SDNS 後,非直播流量調度到其它服務地區,避免流量陡增造成的問題,直播結束後再切回。定向調度能有效緩解流量壓力,保障和提升直播的體驗。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

【場景三】智能調度

傳統 DNS 不對請求來源進行區分,從隨機服務 IP 池中選擇其中一個返回給訪問者。這種調度方式,會對最終用戶的體驗,造成不良影響。

智能調度可以根據解析請求的 IP 地址所歸屬的地域、運營商返回就近的服務器 IP。另外,對於分佈式服務(典型的如 CDN 服務),還可以降低最終用戶訪問服務器的延遲。

一般 DNS 會分地域調度,在CDN 場景下,根據地域自動填充調度路徑;非 CDN 場景則需用戶手動填寫。SDNS 在 CDN 場景下提供 OTT 能力,可以在多個 CDN 之間互相切換,從而實現對調度結果的優化。

案例:

過去解析 aliyun.com ,一定會返回 aliyun.com 的 CDN 廠商A的解析結果。現在基於智能調度,客戶能夠規劃路徑,可以返回n次廠商A,m次廠商B。結合信息擴展字段 extras,還可以告知本次選擇的上下文,方便客戶端做 CDN 廠商性能跟蹤。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

【場景四】自定義線路

當 DNS 請求的 IP 地址歸屬特定 IP 地址段時,返回對應的服務器 IP。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

【場景五】自定義參數解析

基於自定義參數輸入進行調度,如根據用戶賬號調度(比如不同用戶的上下文信息存儲於不同的服務器中,採用默認的 HTTPDNS 調度策略不合適)。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

同時,基於自定義參數,還可以實現業務的A/B Test 和新服務發佈的灰度。

【場景六】前置質量檢測

基於 SDNS,可以前置檢查域名解析結果的性能和可用性,並在結果返回前優化,如果返回 IP 質量不佳則可以切換至優質的 IP。

"

阿里雲 EMAS HTTPDNS 聯合函數計算重磅推出 SDNS 服務,三大能力獲得突破

1. 什麼是 HTTPDNS ?

傳統的 DNS(Domain Name System)使開發者常面臨著域名劫持、調度不精準的問題。

HTTPDNS 使用 HTTP 協議替換常用的 UDP 協議,完成客戶端和遞歸 DNS 之間的域名解析過程,使得 HTTPDNS 服務器自身可以充當遞歸 DNS ,這樣域名解析請求直接發送到阿里雲的 HTTPDNS 服務器,可以繞過Local DNS運營商 ,避免由於 Local DNS 造成的域名劫持和調度不精準問題。產品原理如下圖所示:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖1 架構原理圖

2.SDNS 軟件定義解析

雖然,HTTPDNS 在域名劫持和調度上,相對傳統 DNS 已經有了質的飛躍,但是還存在如下不足:

(1)【權威 DNS 存在不足】傳統權威 DNS 的功能非常有限,且不同供應商提供的能力參差不齊,有優化空間;

(2)【無法優化結果】HTTPDNS 充當遞歸DNS的功能時,無法改變權威 DNS 解析的結果;

(3)【缺乏管理】客戶域名解析缺乏集中管理,大型客戶的域名解析往往分佈在多個 DNS 供應商。

而 SDNS 不僅可以幫助開發者進一步優化調度質量,而且可以結合函數計算等能力,擴展 HTTPDNS 的服務邊界,提供了用戶自定義的處理邏輯,讓業務更加方便靈活。

2.1 什麼是 SDNS ?

SDNS(Software-Defined Name System,簡稱SDNS)即軟件定義解析,是在 HTTPDNS 的基礎上,創造性的引入了自定義解析功能。其主要特性有:

(1)支持客戶端自定義參數輸入;

(2)HTTPDNS 服務器端結合自定義函數處理能力,支持客戶實現複雜的自定義解析功能;

(3)返回自定義解析結果給客戶端。

2.2 SDNS 的三大能力

SDNS 在功能上完成了三個方面的飛躍:

(1)自定義能力

  • 域名解析過程,可以基於自身業務訴求和實際檢測數據情況,改進權威解析結果,實現業務最優。

(2)服務擴展能力

  • 不再侷限於域名解析調度。例如可以結合函數計算等雲服務,豐富和擴展自身業務能力。

(3)系統調度能力

  • 由於域名解析過程可以定義,可以修改權威的結果,增加額外的數據信息,客戶可以在現有服務的基礎上,整合各個權威 DNS 服務,規避由於多權威 DNS 不規範所導致的調度質量不夠高的問題。

2.3 SDNS 使用指南

基於跟函數計算進行業務的整合,SDNS 可以實現多種能力。

SDNS 可以在解析的過程中,在指定的階段執行由客戶編寫的函數計算(FC)的函數邏輯,並提供以下能力:

(1)獲取客戶IP所在的所在地域及運營商信息;

(2)修改域名解析結果及 TTL 時間;

(3)添加自定義的數據輸出,與解析結果一起返回。

SDNS 可以將運行時上下文輸入給函數計算(FC)的函數,允許客戶定義邏輯來處理這些數據。並將處理後的結果合併回SDNS 解析流程中。

SDNS 的系統架構如下:

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖2 架構原理圖

阿里雲 SDNS 實現自定義解析的核心是引入函數計算服務。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

圖3 自定義解析功能原理圖

HTTPDNS 通過為以下5個階段之間提供 Hook 點,並通過引入函數計算在這些 Hook 點實現自定義函數功能。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

Demo Hook 函數實現了兩個功能:

(1)為返回結果增加一個 IP;

(2)為返回結果增加了“extra”字段。

'use strict';
exports.handler = function (event, context, callback) {
// 解析傳入的入參

/*
event = {
"domainName": "www.aliyun.com.", // 注意後綴有個點
"clientIp": "42.120.75.128",
"location": {
"continent": "asia",
"country": "china",
"isp": "bgp", // <cmcc|unicom|chinanet|bgp|unknown>
"city": "zhejiang"
},
"ips": ["140.205.135.3"],
"ttl": 60
}
*/
event = JSON.parse(event.toString());
// callback 第一個參數是exception,第二個參數是出參,會被自動JSON化
callback(null, {
ips: event.ips.concat(['188.177.166.155']),
ttl: event.ttl * 2,
extra: "some-thing-send-to-user"
});
};

詳細使用說明:https://help.aliyun.com/document_detail/121293.html

2.4 SDNS的應用場景

【場景一】縮短域名生效時間

基於 SDNS ,可以縮短 OTT 時間,當遭遇到網絡攻擊後,及時調整 OTT 時間,將業務及時切換到阿里雲高防,既保障了業務安全,又優化了自身成本。

案例:

客戶服務遭到 DDOS 攻擊,出現服務延遲甚至不可用。客戶可以使用 SDNS 服務,在遭到攻擊時,通過調整 OTT 生效時間,快速地將服務切換至高防 IP 完成清洗,保障服務的可用性。

【場景二】定向調度流量

以直播為例,北京地區準備開展一次大型直播,服務器面臨巨大流量壓力會導致擁塞和延時追趕。接入 SDNS 後,非直播流量調度到其它服務地區,避免流量陡增造成的問題,直播結束後再切回。定向調度能有效緩解流量壓力,保障和提升直播的體驗。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

【場景三】智能調度

傳統 DNS 不對請求來源進行區分,從隨機服務 IP 池中選擇其中一個返回給訪問者。這種調度方式,會對最終用戶的體驗,造成不良影響。

智能調度可以根據解析請求的 IP 地址所歸屬的地域、運營商返回就近的服務器 IP。另外,對於分佈式服務(典型的如 CDN 服務),還可以降低最終用戶訪問服務器的延遲。

一般 DNS 會分地域調度,在CDN 場景下,根據地域自動填充調度路徑;非 CDN 場景則需用戶手動填寫。SDNS 在 CDN 場景下提供 OTT 能力,可以在多個 CDN 之間互相切換,從而實現對調度結果的優化。

案例:

過去解析 aliyun.com ,一定會返回 aliyun.com 的 CDN 廠商A的解析結果。現在基於智能調度,客戶能夠規劃路徑,可以返回n次廠商A,m次廠商B。結合信息擴展字段 extras,還可以告知本次選擇的上下文,方便客戶端做 CDN 廠商性能跟蹤。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

【場景四】自定義線路

當 DNS 請求的 IP 地址歸屬特定 IP 地址段時,返回對應的服務器 IP。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

【場景五】自定義參數解析

基於自定義參數輸入進行調度,如根據用戶賬號調度(比如不同用戶的上下文信息存儲於不同的服務器中,採用默認的 HTTPDNS 調度策略不合適)。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

同時,基於自定義參數,還可以實現業務的A/B Test 和新服務發佈的灰度。

【場景六】前置質量檢測

基於 SDNS,可以前置檢查域名解析結果的性能和可用性,並在結果返回前優化,如果返回 IP 質量不佳則可以切換至優質的 IP。

阿里雲EMAS HTTPDNS聯合函數計算重磅推出SDNS服務,突破三大能力

總結

SDNS 是 HTTPDNS 在開放性上的一次躍遷,打破了原有的封閉服務模式,賦能企業研發團隊。基於 SDNS,研發團隊可以進一步提高調度精準度,提升業務覆蓋面,助力打造更強大、更智能的調度體系,為最終用戶提供極致的體驗。

相關鏈接:

(1)HTTPDNS:https://www.aliyun.com/product/httpdns

(2)SDNS使用說明:https://help.aliyun.com/document_detail/120654.html

(3)編寫自定義解析函數:https://help.aliyun.com/document_detail/121293.html

(4)移動研發平臺EMAS:https://aliyun.com/product/emas

本文為雲棲社區原創內容,未經允許不得轉載。

"

相關推薦

推薦中...