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

什么是HTTPDNS?


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

HTTPDNS原理

为什么接入HTTPDNS?


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

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

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

直接上干货


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

HTTPDNS服务接入流程图

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

  • IP请求可行性验证开关

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

  • 网络状态发生变化

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,886评论 18 139
  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    保川阅读 5,987评论 1 13
  • 看了Joy一篇关于网络部分优化的文章,总结一下,方便以后查阅使用 目前客户端存在的网络问题主要有下面几方面: 1....
    SpursGo阅读 3,667评论 1 5
  • 1. 基础知识 1.1 3种常见的计算机体系结构划分 OSI分层(7层):物理层、数据链路层、网络层、传输层、会话...
    Mr希灵阅读 19,936评论 6 120
  • spring官网spring包下载地址介绍文章spring简介:spring百度百科介绍1.方便解耦,简化开发通过...
    天空在微笑阅读 247评论 0 1