阿里云 EMAS HTTPDNS 联合函数计算重磅推出 SDNS 服务,三大能力获得突破

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: SDNS 在功能上完成了三个方面的飞跃: (1)自定义能力 域名解析过程,可以基于自身业务诉求和实际检测数据情况,改进权威解析结果,实现业务最优。 (2)服务扩展能力 不再局限于域名解析调度。

阿里云 EMAS HTTPDNS 联合函数计算重磅推出 SDNS 服务,三大能力获得突破

1. 什么是 HTTPDNS ?

传统的 DNS(Domain Name System)使开发者常面临着域名劫持、调度不精准的问题。

HTTPDNS 使用 HTTP 协议替换常用的 UDP 协议,完成客户端和递归 DNS 之间的域名解析过程,使得 HTTPDNS 服务器自身可以充当递归 DNS ,这样域名解析请求直接发送到阿里云的 HTTPDNS 服务器,可以绕过Local DNS运营商 ,避免由于 Local DNS 造成的域名劫持和调度不精准问题。产品原理如下图所示:
1

图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 的系统架构如下:
2


图2 架构原理图

阿里云 SDNS 实现自定义解析的核心是引入函数计算服务。
3


图3 自定义解析功能原理图

HTTPDNS 通过为以下5个阶段之间提供 Hook 点,并通过引入函数计算在这些 Hook 点实现自定义函数功能。

阶段名 说明
HTTPDNS_LOCATE_IP 在地址库中定位该IP所在地域及运营商
HTTPDNS_CHECK_CACHE 以域名和定位结果信息作为 key,搜索缓存中的解析结果,如果有有效解析结果则跳转至 HTTPDNS_WRITE_RESPONSE 阶段;如果没有进入 HTTPDNS_RESOLVE 阶段
HTTPDNS_RESOLVE 实际执行递归解析逻辑
HTTPDNS_WRITE_CACHE 将解析结果写入缓存
HTTPDNS_WRITE_RESPONSE 将解析结果写入响应中并返回给调用端

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 后,非直播流量调度到其它服务地区,避免流量陡增造成的问题,直播结束后再切回。定向调度能有效缓解流量压力,保障和提升直播的体验。

4

【场景三】智能调度

传统 DNS 不对请求来源进行区分,从随机服务 IP 池中选择其中一个返回给访问者。这种调度方式,会对最终用户的体验,造成不良影响。

智能调度可以根据解析请求的 IP 地址所归属的地域、运营商返回就近的服务器 IP。另外,对于分布式服务(典型的如 CDN 服务),还可以降低最终用户访问服务器的延迟。

一般 DNS 会分地域调度,在CDN 场景下,根据地域自动填充调度路径;非 CDN 场景则需用户手动填写。SDNS 在 CDN 场景下提供 OTT 能力,可以在多个 CDN 之间互相切换,从而实现对调度结果的优化。

案例:

过去解析 aliyun.com ,一定会返回 aliyun.com 的 CDN 厂商A的解析结果。现在基于智能调度,客户能够规划路径,可以返回n次厂商A,m次厂商B。结合信息扩展字段 extras,还可以告知本次选择的上下文,方便客户端做 CDN 厂商性能跟踪。
5


图4 智能调度示意图

【场景四】自定义线路

当 DNS 请求的 IP 地址归属特定 IP 地址段时,返回对应的服务器 IP。
6


图5 自定义线路示意图

【场景五】自定义参数解析

基于自定义参数输入进行调度,如根据用户账号调度(比如不同用户的上下文信息存储于不同的服务器中,采用默认的 HTTPDNS 调度策略不合适)。

7


图6 自定义参数调度示意图

同时,基于自定义参数,还可以实现业务的A/B Test 和新服务发布的灰度。

【场景六】前置质量检测

基于 SDNS,可以前置检查域名解析结果的性能和可用性,并在结果返回前优化,如果返回 IP 质量不佳则可以切换至优质的 IP。

8

总结

SDNS 是 HTTPDNS 在开放性上的一次跃迁,打破了原有的封闭服务模式,赋能企业研发团队。基于 SDNS,研发团队可以进一步提高调度精准度,提升业务覆盖面,助力打造更强大、更智能的调度体系,为最终用户提供极致的体验。

相关链接:
(1)HTTPDNS:https://www.aliyun.com/product/httpdns
(2)SDNS使用说明:
(3)编写自定义解析函数:https://help.aliyun.com/document_detail/121293.html
(4)移动研发平台EMAS:https://aliyun.com/product/emas

目录
相关文章
|
5月前
|
分布式计算 运维 搜索推荐
立马耀:通过阿里云 Serverless Spark 和 Milvus 构建高效向量检索系统,驱动个性化推荐业务
蝉妈妈旗下蝉选通过迁移到阿里云 Serverless Spark 及 Milvus,解决传统架构性能瓶颈与运维复杂性问题。新方案实现离线任务耗时减少40%、失败率降80%,Milvus 向量检索成本降低75%,支持更大规模数据处理,查询响应提速。
245 57
|
2月前
|
人工智能 弹性计算 运维
亚太唯一!阿里云Serverless计算产品进入Forrester领导者象限
近日,Forrester发布《Serverless Development Platforms, Q2 2025》报告,阿里云函数计算FC与Serverless应用引擎SAE在21项评测中斩获9项最高分,成为国内唯一进入领导者象限的科技公司。
|
3月前
|
人工智能 分布式计算 DataWorks
一体系数据平台的进化:基于阿里云 EMR Serverless Spark 的持续演进
本文介绍了一体系汽配供应链平台如何借助阿里云EMR Serverless Spark实现从传统Hadoop平台向云原生架构的迁移。通过融合高质量零部件供应与创新互联网科技,一体系利用EMR Serverless Spark和DataWorks构建高效数据分析体系,解决大规模数据处理瓶颈。方案涵盖实时数据集成、Lakehouse搭建、数仓分层设计及BI/ML应用支持,显著提升数据处理性能与业务响应速度,降低运维成本,为数字化转型奠定基础。最终实现研发效率提升、运维压力减轻,并推动AI技术深度整合,迈向智能化云原生数据平台。
127 4
|
3月前
|
人工智能 弹性计算 运维
亚太唯一,阿里云Serverless计算产品进入Forrester领导者象限
Forrester发布Serverless开发平台评估报告《Forrester Wave™: Serverless Development Platforms, Q2 2025》:在21项测评中,阿里云函数计算FC和Serverless应用引擎SAE的产品能力拿到了9项最高分。阿里云成功进入领导者象限,是国内唯一进入该象限的科技公司。
|
3月前
|
分布式计算 运维 监控
Fusion 引擎赋能:流利说如何用阿里云 Serverless Spark 实现数仓计算加速
本文介绍了流利说与阿里云合作,利用EMR Serverless Spark优化数据处理的全过程。流利说是科技驱动的教育公司,通过AI技术提升用户英语水平。原有架构存在资源管理、成本和性能等痛点,采用EMR Serverless Spark后,实现弹性资源管理、按需计费及性能优化。方案涵盖数据采集、存储、计算到查询的完整能力,支持多种接入方式与高效调度。迁移后任务耗时减少40%,失败率降低80%,成本下降30%。未来将深化合作,探索更多行业解决方案。
132 1
|
4月前
|
人工智能 运维 安全
阿里云 Serverless 助力海牙湾构建弹性、高效、智能的 AI 数字化平台
海牙湾(G-Town)是一家以“供应链+场景+技术+AI”为核心驱动力的科技公司,致力于为各行业提供数字化转型解决方案。通过采用阿里云Serverless架构,解决了弹性能力不足、资源浪费与运维低效的问题。SAE全托管特性降低了技术复杂度,并计划进一步探索Serverless与AI结合,推动智能数字化发展。海牙湾业务覆盖金融、美妆、能源等领域,与多家知名企业建立战略合作,持续优化用户体验和供应链决策能力,保障信息安全并创造可量化的商业价值。未来,公司将深化云原生技术应用,助力更多行业实现高效数字化转型。
320 19
|
4月前
|
人工智能 弹性计算 运维
阿里云邀请您参加 2025 中国 Serverless 用户调查
阿里云邀请您参加 2025 中国 Serverless 用户调查
|
5月前
|
Serverless Python
借助 serverless 将 MCP 服务部署到云端
本文介绍了如何将 MCP 服务通过 SSE 协议部署到云端,避免本地下载和启动的麻烦。首先,使用 Python 实现了一个基于 FastMCP 的网络搜索工具,并通过设置 `transport='sse'` 启用 SSE 协议。接着,编写客户端代码测试服务功能,确保其正常运行。随后,利用阿里云函数计算服务(FC 3.0)以 Serverless 方式部署该服务,包括创建函数、配置环境变量、添加依赖层以及部署代码。最后,提供了客户端测试方法和日志排查技巧,并展示了如何在不同工具(如 Cherry-Studio、Cline 和 Cursor)中配置云端 MCP 服务。
996 10
借助 serverless 将 MCP 服务部署到云端
|
5月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
308 12