iOS应用接入HTTPDNS服务的架构设计方案

什么是HTTPDNS?


客户端直接访问HTTPDNS接口,获取业务在域名配置管理系统上配置的访问延迟最优的IP。向获取到的IP发送业务协议请求,以HTTP请求为例,通过在Header中指定Host字段,向HTTPDNS返回的IP发送标准的HTTP请求即可。(简单来讲就是之前用域名请求,现在用向延迟最低的IP发送请求)

iOS应用接入HTTPDNS服务的架构设计方案_第1张图片
HTTPDNS原理

为什么接入HTTPDNS?


网络连接速度提高了50%以上!!!(用了都说好)

省略了耗时较多的DNS解析过程,节省了大量时间。同时也有效的避免了运营商域名劫持问题,网络接入成功率大幅提高。

公司项目使用的是DNSPOD提供的服务,当然大家也可以使用Tencent提供的HTTPDNS服务。

直接上干货


网络底层加入HTTPDNS服务的流程图如下:

iOS应用接入HTTPDNS服务的架构设计方案_第2张图片
HTTPDNS服务接入流程图

这套架构设计使用了将近半年,一直保持稳定运行。大部分结构比较好理解,关于流程图需要补充几点:

  • IP请求可行性验证开关

开发中发现,如果HTTP请求中间有代理服务器,那么不能通过指定Host的方式发IP请求,所以需要验证一下当前网络状态是否可以通过指定Host的方式发IP请求。

  • 网络状态发生变化

此时要获取最新网络情况,并及时更新缓存的域名和IP配对信息。

你可能感兴趣的:(iOS应用接入HTTPDNS服务的架构设计方案)