前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HTTPDNS SDK解析时延优化方案

HTTPDNS SDK解析时延优化方案

原创
作者头像
腾讯轻量云
修改2024-09-18 10:38:19
4060
修改2024-09-18 10:38:19

问题现象

自2024年9月14日22点52分起,系统监测到部分省份联通网络线路在尝试访问移动解析服务主IP地址119.29.29.98失败。目前,平台团队正在积极处理中,暂时无法确定服务完全恢复时间。

对使用HTTPDNS SDK的用户,当前SDK内部使用了LocalDNS和备份IP进行兜底,解析成功率将不受影响。但SDK会周期性尝试探测服务可用性,导致每十分钟解析时延会间歇性增加一次,如果您需要对解析时延进行优化,可参考本文档。

对直接调用API的用户,建议根据实际的解析需求情况,可以将服务IP地址切换至备份线路IP地址119.28.28.98,或使用LocalDNS进行解析域名。

若您在切换备份线路IP有任何问题,请随时联系腾讯云处理,或提交工单。

原因

使用SDK未设置解析超时时间的情况下,超时时间默认是2000ms。当HTTPDNS请求不可用时,会等待解析超时时间结束才会返回解析结果(此结果为LocalDNS解析结果)。10分钟后会恢复原解析请求逻辑,导致每10分钟解析时延会间歇性增加。

解决方案

可以通过调整HTTPDNS SDK的解析超时时间,来优化解析时延。

iOS SDK接入方式

通过timeout字段来调整超时时间,示例如下:

代码语言:javascript
复制
  DnsConfig *config = new DnsConfig();
  config->dnsId = dns授权id;
  config->dnsKey = @"加密密钥";
  config->encryptType = HttpDnsEncryptTypeDES;
  config->debug = YES;
  config->timeout = 2000; //超时时间,单位ms,默认值2000ms
  [[MSDKDns sharedInstance] initConfig: config];

Android SDK接入方式

通过timeoutMills字段来调整超时时间,示例如下:

代码语言:javascript
复制
DnsConfig dnsConfigBuilder = DnsConfig.Builder()
    .dnsId("dns授权id")
    .dnsKey("加密密钥")
    .desHttp()
    .timeoutMills(2000) //超时时间,单位ms,默认值2000ms
    .build();
MSDKDnsResolver.getInstance().init(this, dnsConfigBuilder);

说明:超时时间也不宜设置过低,建议超时时间设置800ms。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题现象
  • 原因
  • 解决方案
    • iOS SDK接入方式
      • Android SDK接入方式
      相关产品与服务
      移动解析 HTTPDNS
      移动解析 HTTPDNS 基于 HTTP 协议向腾讯云的 DNS 服务器发送域名解析请求,替代了基于 DNS 协议向运营商 Local DNS 发起解析请求的传统方式,可以避免 Local DNS 造成的域名劫持和跨网访问问题,解决移动互联网服务中域名解析异常带来的困扰。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档