美文网首页
IM即时通讯移动端之HTTP请求的DNS优化

IM即时通讯移动端之HTTP请求的DNS优化

作者: 可爱的小云朵 | 来源:发表于2022-07-14 09:33 被阅读0次

移动端因其无线网络的特殊性,很多在PC时代本无需考虑的问题,在移动互联网时代却会显得很突出,比如本文将要提到的HTTP请求中有关DNS解析的问题。

无线网络时代,网络稳定性差,应用流量敏感,APP与server之间每次HTTP请求都需要DNS解析,关键是无线网络的DNS解析很多时候并不能如您期待的那样能很好地工。好在并非没有优化方法。

PC时代HTTP请求处理过程

(1)浏览器、或者PC客户端访问DNS服务器,由域名拿到IP(一般来说是个nginx的IP)

(2)浏览器、或者PC客户端用IP访问nginx

(3)nginx将请求分发给实际处理HTTP请求的web-server

移动互联网时代的特点

(1)DNS解析的时间不能忽略

(2)一旦DNS被劫持,整个APP就挂了(还记得N年前baidu的域名被劫持的事情么?)

一种不需要DNS解析的HTTP请求优化方案

(1)第一次访问时,先拉取server的ip-list保存到本地,访问过程与普通HTTP访问过程相同

(2)未来访问时,客户端直接使用ip-list中的IP来访问server,不再需要DNS

(3)如果DNS被劫持,直接尝试使用ip-list中的IP访问

潜在的问题

(1)虽然少了一步DNS查询和一步nginx中转,那怎么做负载均衡呢?即时通讯聊天软件app开发可以加蔚可云的v:weikeyun24咨询

答:APP随机访问ip-list中的IP

(2)使用nginx可以方便的增加后端的服务,不使用nginx如何做水平扩展呢?

答:直接在ip-list中增加ip即可

(3)每次访问都要访问ip-list,还是挺废流量的,还有其他优化方案么?

答:增加一个版本号,第一次拉取ip-list时,不但把ip-list放到APP本地,并把版本号也拿到。未来不用每次都拿ip-list,而是先拿版本号,如果版本号不变,直接使用本地的ip-list。只有版本号变化时,才需要重新拉取ip-list

(4)还有其他什么好处?

答:使用nginx不好做异构服务器的负载均衡,即难以根据后端服务的处理能力来分配负载。使用ip-list,只要加上一个权重参数,即可实现异构服务器的负载均,例如:

192.168.1.1, 10

192.168.1.2, 10

192.168.1.3, 20

可以看到,第三个后端服务的处理能力是前两个的两倍,APP做负载均衡时考虑上第二个参数即可。

再次总结这种方案的好处

(1)不需要每次请求做DNS解析,节省时间

(2)不需要每次请求做nginx转发,节省时间

(3)不需要每次拉取拉取ip-list,节省流量

(4)DNS被劫持时仍可以使用本地ip。

相关文章

  • iOS IM即时通讯小结:WebSocket

    参考网站 即时通讯网 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM》 大牛博客IM 即时通讯技术...

  • http请求优化,dns查询

    有时候app里面的资源是一些外链,所以我们不能保证请求外链的结果,外链失效或者请求速度慢或者其他问题,虽然不是自己...

  • HTTP及HTTPS协议原理

    http 通信协议的基本原理 一次 HTTP 请求的通信流程 客户端向DNS发送域名,DNS返回ip地址客户端根据...

  • 关于(移动)网站的性能优化笔记

    记录 参考移动端网站提升页面加载性能的优化技巧 减少每个页面需要获取额外资源的HTTP请求数。 减少每个请求加载的...

  • iOS即时通讯,资料整理

    不定时更新 参考资料: iOS即时通讯,从入门到“放弃”? 为什么说基于TCP的移动端IM仍然需要心跳保活? 移动...

  • 前端如何优化

    性能加载时的优化 第一点:减少HTTP请求   一个完整的 HTTP 请求需要经历 DNS 查找,TCP 握手,浏...

  • 视频教程

    【扔物线/Android】完全掌握自定义View 融云微课堂 | IM 即时通讯之移动端链路保活 融云微课堂第二期...

  • 性能优化

    性能优化 代码层面: 缓存利用 请求数量 请求带宽 总的来说 移动端性能优化 具体优化 加号操作符 事件委托 避免...

  • 面试-性能优化

    性能优化简单来说,常用的优化有两部分: 第一:面向内容的优化 减少 HTTP 请求 减少 DNS 查找 避免重定向...

  • IM及网络相关优秀文献

    文献转自:http://www.52im.net 移动端IM实践:实现Android版微信的智能心跳机制 [1] ...

网友评论

      本文标题:IM即时通讯移动端之HTTP请求的DNS优化

      本文链接:https://www.haomeiwen.com/subject/pvpqirtx.html