阿里云 EMAS HTTPDNS 联合函数计算重磅推出 SDNS 服务,三大能力获得突破
阿里云 EMAS HTTPDNS 聯(lián)合函數(shù)計(jì)算重磅推出 SDNS 服務(wù),三大能力獲得突破
1. 什么是 HTTPDNS ?
傳統(tǒng)的 DNS(Domain?Name?System)使開發(fā)者常面臨著域名劫持、調(diào)度不精準(zhǔn)的問(wèn)題。
HTTPDNS?使用 HTTP 協(xié)議替換常用的 UDP 協(xié)議,完成客戶端和遞歸 DNS 之間的域名解析過(guò)程,使得 HTTPDNS 服務(wù)器自身可以充當(dāng)遞歸 DNS ,這樣域名解析請(qǐng)求直接發(fā)送到阿里云的 HTTPDNS 服務(wù)器,可以繞過(guò)Local DNS運(yùn)營(yíng)商 ,避免由于 Local DNS 造成的域名劫持和調(diào)度不精準(zhǔn)問(wèn)題。產(chǎn)品原理如下圖所示:
圖1 架構(gòu)原理圖
2.SDNS 軟件定義解析
雖然,HTTPDNS 在域名劫持和調(diào)度上,相對(duì)傳統(tǒng) DNS 已經(jīng)有了質(zhì)的飛躍,但是還存在如下不足:
(1)【權(quán)威 DNS 存在不足】傳統(tǒng)權(quán)威 DNS 的功能非常有限,且不同供應(yīng)商提供的能力參差不齊,有優(yōu)化空間;
(2)【無(wú)法優(yōu)化結(jié)果】HTTPDNS 充當(dāng)遞歸DNS的功能時(shí),無(wú)法改變權(quán)威 DNS 解析的結(jié)果;
(3)【缺乏管理】客戶域名解析缺乏集中管理,大型客戶的域名解析往往分布在多個(gè) DNS 供應(yīng)商。
而 SDNS 不僅可以幫助開發(fā)者進(jìn)一步優(yōu)化調(diào)度質(zhì)量,而且可以結(jié)合函數(shù)計(jì)算等能力,擴(kuò)展 HTTPDNS 的服務(wù)邊界,提供了用戶自定義的處理邏輯,讓業(yè)務(wù)更加方便靈活。
2.1 什么是?SDNS ?
SDNS(Software-Defined Name System,簡(jiǎn)稱SDNS)即軟件定義解析,是在?HTTPDNS 的基礎(chǔ)上,創(chuàng)造性的引入了自定義解析功能。其主要特性有:
(1)支持客戶端自定義參數(shù)輸入;
(2)HTTPDNS 服務(wù)器端結(jié)合自定義函數(shù)處理能力,支持客戶實(shí)現(xiàn)復(fù)雜的自定義解析功能;
(3)返回自定義解析結(jié)果給客戶端。
2.2 SDNS 的三大能力
SDNS 在功能上完成了三個(gè)方面的飛躍:
(1)自定義能力
- 域名解析過(guò)程,可以基于自身業(yè)務(wù)訴求和實(shí)際檢測(cè)數(shù)據(jù)情況,改進(jìn)權(quán)威解析結(jié)果,實(shí)現(xiàn)業(yè)務(wù)最優(yōu)。
(2)服務(wù)擴(kuò)展能力
- 不再局限于域名解析調(diào)度。例如可以結(jié)合函數(shù)計(jì)算等云服務(wù),豐富和擴(kuò)展自身業(yè)務(wù)能力。
(3)系統(tǒng)調(diào)度能力
- 由于域名解析過(guò)程可以定義,可以修改權(quán)威的結(jié)果,增加額外的數(shù)據(jù)信息,客戶可以在現(xiàn)有服務(wù)的基礎(chǔ)上,整合各個(gè)權(quán)威 DNS 服務(wù),規(guī)避由于多權(quán)威 DNS 不規(guī)范所導(dǎo)致的調(diào)度質(zhì)量不夠高的問(wèn)題。
2.3 SDNS 使用指南
基于跟函數(shù)計(jì)算進(jìn)行業(yè)務(wù)的整合,SDNS 可以實(shí)現(xiàn)多種能力。
SDNS 可以在解析的過(guò)程中,在指定的階段執(zhí)行由客戶編寫的函數(shù)計(jì)算(FC)的函數(shù)邏輯,并提供以下能力:
(1)獲取客戶IP所在的所在地域及運(yùn)營(yíng)商信息;
(2)修改域名解析結(jié)果及 TTL 時(shí)間;
(3)添加自定義的數(shù)據(jù)輸出,與解析結(jié)果一起返回。
SDNS 可以將運(yùn)行時(shí)上下文輸入給函數(shù)計(jì)算(FC)的函數(shù),允許客戶定義邏輯來(lái)處理這些數(shù)據(jù)。并將處理后的結(jié)果合并回SDNS 解析流程中。
SDNS 的系統(tǒng)架構(gòu)如下:
?
圖2?架構(gòu)原理圖
阿里云 SDNS 實(shí)現(xiàn)自定義解析的核心是引入函數(shù)計(jì)算服務(wù)。
?
圖3 自定義解析功能原理圖
HTTPDNS 通過(guò)為以下5個(gè)階段之間提供 Hook 點(diǎn),并通過(guò)引入函數(shù)計(jì)算在這些 Hook 點(diǎn)實(shí)現(xiàn)自定義函數(shù)功能。
| HTTPDNS_LOCATE_IP | 在地址庫(kù)中定位該IP所在地域及運(yùn)營(yíng)商 |
| HTTPDNS_CHECK_CACHE | 以域名和定位結(jié)果信息作為 key,搜索緩存中的解析結(jié)果,如果有有效解析結(jié)果則跳轉(zhuǎn)至 HTTPDNS_WRITE_RESPONSE 階段;如果沒(méi)有進(jìn)入 HTTPDNS_RESOLVE 階段 |
| HTTPDNS_RESOLVE | 實(shí)際執(zhí)行遞歸解析邏輯 |
| HTTPDNS_WRITE_CACHE | 將解析結(jié)果寫入緩存 |
| HTTPDNS_WRITE_RESPONSE | 將解析結(jié)果寫入響應(yīng)中并返回給調(diào)用端 |
Demo Hook 函數(shù)實(shí)現(xiàn)了兩個(gè)功能:
(1)為返回結(jié)果增加一個(gè) IP;
(2)為返回結(jié)果增加了“extra”字段。
詳細(xì)使用說(shuō)明:https://help.aliyun.com/document_detail/121293.html
2.4 SDNS的應(yīng)用場(chǎng)景
【場(chǎng)景一】縮短域名生效時(shí)間
基于 SDNS ,可以縮短?OTT 時(shí)間,當(dāng)遭遇到網(wǎng)絡(luò)攻擊后,及時(shí)調(diào)整 OTT 時(shí)間,將業(yè)務(wù)及時(shí)切換到阿里云高防,既保障了業(yè)務(wù)安全,又優(yōu)化了自身成本。
案例:
客戶服務(wù)遭到 DDOS 攻擊,出現(xiàn)服務(wù)延遲甚至不可用。客戶可以使用 SDNS 服務(wù),在遭到攻擊時(shí),通過(guò)調(diào)整 OTT 生效時(shí)間,快速地將服務(wù)切換至高防 IP 完成清洗,保障服務(wù)的可用性。
【場(chǎng)景二】定向調(diào)度流量
以直播為例,北京地區(qū)準(zhǔn)備開展一次大型直播,服務(wù)器面臨巨大流量壓力會(huì)導(dǎo)致?lián)砣脱訒r(shí)追趕。接入 SDNS 后,非直播流量調(diào)度到其它服務(wù)地區(qū),避免流量陡增造成的問(wèn)題,直播結(jié)束后再切回。定向調(diào)度能有效緩解流量壓力,保障和提升直播的體驗(yàn)。
【場(chǎng)景三】智能調(diào)度
傳統(tǒng) DNS 不對(duì)請(qǐng)求來(lái)源進(jìn)行區(qū)分,從隨機(jī)服務(wù) IP 池中選擇其中一個(gè)返回給訪問(wèn)者。這種調(diào)度方式,會(huì)對(duì)最終用戶的體驗(yàn),造成不良影響。
智能調(diào)度可以根據(jù)解析請(qǐng)求的 IP 地址所歸屬的地域、運(yùn)營(yíng)商返回就近的服務(wù)器 IP。另外,對(duì)于分布式服務(wù)(典型的如 CDN 服務(wù)),還可以降低最終用戶訪問(wèn)服務(wù)器的延遲。
一般 DNS 會(huì)分地域調(diào)度,在CDN 場(chǎng)景下,根據(jù)地域自動(dòng)填充調(diào)度路徑;非 CDN 場(chǎng)景則需用戶手動(dòng)填寫。SDNS 在 CDN 場(chǎng)景下提供 OTT 能力,可以在多個(gè) CDN 之間互相切換,從而實(shí)現(xiàn)對(duì)調(diào)度結(jié)果的優(yōu)化。
案例:
過(guò)去解析 aliyun.com ,一定會(huì)返回 aliyun.com 的 CDN 廠商A的解析結(jié)果。現(xiàn)在基于智能調(diào)度,客戶能夠規(guī)劃路徑,可以返回n次廠商A,m次廠商B。結(jié)合信息擴(kuò)展字段 extras,還可以告知本次選擇的上下文,方便客戶端做 CDN 廠商性能跟蹤。
?
圖4?智能調(diào)度示意圖
【場(chǎng)景四】自定義線路
當(dāng) DNS 請(qǐng)求的 IP 地址歸屬特定 IP 地址段時(shí),返回對(duì)應(yīng)的服務(wù)器 IP。
【場(chǎng)景五】自定義參數(shù)解析
基于自定義參數(shù)輸入進(jìn)行調(diào)度,如根據(jù)用戶賬號(hào)調(diào)度(比如不同用戶的上下文信息存儲(chǔ)于不同的服務(wù)器中,采用默認(rèn)的 HTTPDNS 調(diào)度策略不合適)。
圖6??自定義參數(shù)調(diào)度示意圖
同時(shí),基于自定義參數(shù),還可以實(shí)現(xiàn)業(yè)務(wù)的A/B Test 和新服務(wù)發(fā)布的灰度。
【場(chǎng)景六】前置質(zhì)量檢測(cè)
基于 SDNS,可以前置檢查域名解析結(jié)果的性能和可用性,并在結(jié)果返回前優(yōu)化,如果返回 IP 質(zhì)量不佳則可以切換至優(yōu)質(zhì)的 IP。
總結(jié)
SDNS 是 HTTPDNS 在開放性上的一次躍遷,打破了原有的封閉服務(wù)模式,賦能企業(yè)研發(fā)團(tuán)隊(duì)。基于 SDNS,研發(fā)團(tuán)隊(duì)可以進(jìn)一步提高調(diào)度精準(zhǔn)度,提升業(yè)務(wù)覆蓋面,助力打造更強(qiáng)大、更智能的調(diào)度體系,為最終用戶提供極致的體驗(yàn)。
原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的阿里云 EMAS HTTPDNS 联合函数计算重磅推出 SDNS 服务,三大能力获得突破的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 云上快速搭建Serverless AI实
- 下一篇: 神仙在双11晚上,都干了些啥?