大型网站用户定位技术
其实这个文章叫大型网站用户定位技术,其实今天要讲的不是智能 DNS ,今天是要讲的智能 DNS 的问题,和一些网站对这个的处理,下面要讲的这个技术主要是针对比较大的文件,比如下载和视频之类。为什么要讲这个,主要是我的群中一些朋友吵着想了解一下。我答应了非常非常久了。直到现在才有时间给大家分享一下。
我们知道,现在很多网站的 GLSB 都是基于 DNS 来做。DNS 的解析流程如下。我们来看。
比如,我是北京的用户,我的 DNS 为 202.106.0.20.当我要打开 www.php-oa.com 时,先会给请求发给 ISP 告诉我的 DNS.这个叫 Local DNS 。然后其它的向根域和二级域的查询,都是由 Local DNS 帮我完成的。
当一个网站使用了智能的 DNS 后,智能 DNS 服务器会得到 Local DNS 的 IP 来区分用户的来源。如下,发现 202.106.0.20 这个 Local DNS 的地址,然后到自己收集的地址中一对比,是北京联通用户。然后给我解析 cname 到 bj.www.php-oa.com 这个地址。
这样完成了我最近的用户到最近的网站服务器的目的。
但这个有个小问题,就是当用户设的 DNS 地址不对时,比如现在很多人喜欢使用 google 的 DNS 。时会出现什么样的问题啦?
我们看下面的图片,就会知道。
当使用了错误的 Local DNS 后,用户的定位就不准了。这样会解析到离自己很远的服务器,比如,我使用了 google 的 8.8.8.8 的地址的 Local DNS。这时智能 DNS 只能得到 8.8.8.8 。然后智能 DNS 一查这个地址,是美国。就给解析到国外,我这画的是解析到 hk.www.php-oa.com。
在 Local DNS 地址不准时,解析基本都是不正常的。这些用户的响应和打开就非常慢。
解决方法,使用 IP 定位。
什么是 IP 定位,见下面的图。图实在不怎么样。。。不好意思,随手搞了一下。
当我们打开一个地址时,如下,使用了错误的 Local DNS ,但这些 Local DNS 查的智能 DNS 怎么样只会给出少量的地址,比如南方和北方都只有一个,解析的地址这些不会根着地区变化。
解析到的服务器,其实不是真实的服务器,只是一个 IP 调度器。这时客户端就会试着连接这个调度器,但调度器不吐文件,只会吐出一个 302 的响应,转到别的服务器(真实的最近的服务器)。
因为这些用户真实的请求出来到调度器上,不在是 Local DNS 的 IP ,是用户实际的 IP ,这些可以在调度器上在查 IP 的来源。这些就会非常准。
然后在使用 302 定位。更加高级可以使用 tcp 迁移技术
在这个时候调度器可以做得非常强大,象大脑一样,多少量,多少请求,有多少热点,请求了多少文件。
使用上面的技术进行用户定位,优点很明显,定位非常非常精准,可以非常快和高效的定位到合适的资源。但不好的一点也很明显,需多进行一次 302 跳转,处理时间变长了一点点,所以非常合适视频网站之类来使用。
建议继续学习:
- 自建DNS以防止GFW干扰 (阅读:11871)
- 强制刷新本地 DNS 缓存记录 (阅读:9223)
- 2014年1月21日中国互联网DNS瘫痪事件原因分析 (阅读:6844)
- 关于 SOCKS 代理的远端 DNS 解析 (阅读:6392)
- DNS 隧道 (阅读:5622)
- 什么是DNS劫持和DNS污染? (阅读:4914)
- nslookup通往DNS的桥梁 (阅读:4745)
- CentOS下通过Webmin管理BIND实现DNS轮询 (阅读:4680)
- 当网站使用CDN后获取客户端真实IP的方法 (阅读:4586)
- dig挖出DNS的秘密 (阅读:4600)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:扶凯 来源: 扶凯
- 标签: CDN DNS GLSB 用户定位
- 发布时间:2011-01-05 22:45:41
- [68] Go Reflect 性能
- [68] 如何拿下简短的域名
- [67] Oracle MTS模式下 进程地址与会话信
- [62] IOS安全–浅谈关于IOS加固的几种方法
- [61] 图书馆的世界纪录
- [60] 【社会化设计】自我(self)部分――欢迎区
- [58] android 开发入门
- [56] 视觉调整-设计师 vs. 逻辑
- [49] 给自己的字体课(一)——英文字体基础
- [48] 读书笔记-壹百度:百度十年千倍的29条法则