智能DNS解析与用户定位调度技术
2012-07-09 21:43:50 来源:互联网 评论:0 点击:
大型网站或多受众用户服务网站在中国特定网络环境下,离不开CDN(内容服务网络)及用户调度。而CDN与用户调度则涉及智能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 地址不准时,解析基本都是不正常的.这些用户的响应和打开就非常慢.
所以在这可以看出 DNS 方式用户位置判断准确率大于85%,HTTP 方式准确率为 99% 以上
解决方法,使用 IP 定位.
什么是 IP 定位,见下面的图.图实在不怎么样…不好意思,随手搞了一下.
当我们打开一个地址时,如下,使用了错误的 Local DNS ,但这些 Local DNS 查的智能 DNS 怎么样只会给出少量的地址,比如南方和北方都只有一个,解析的地址这些不会根着地区变化.
解析到的服务器,其实不是真实的服务器,只是一个 IP 调度器.这时客户端就会试着连接这个调度器,但调度器不吐文件,只会吐出一个 302 的响应,转到别的服务器(真实的最近的服务器).
因为这些用户真实的请求出来到调度器上,不在是 Local DNS 的 IP ,是用户实际的 IP ,这些可以在调度器上在查 IP 的来源.这些就会非常准.
然后在使用 302 定位.更加高级可以使用 tcp 迁移技术
在这个时候调度器可以做得非常强大,象大脑一样,多少量,多少请求,有多少热点,请求了多少文件.
使用上面的技术进行用户定位,优点很明显,定位非常非常精准,可以非常快和高效的定位到合适的资源.但不好的一点也很明显,需多进行一次 302 跳转,处理时间变长了一点点,所以非常合适视频网站之类来使用.
显而易见,智能GSLB并不能很好的解决用户定位问题,但够简单。而用户IP定位可以较好的解决,但并不一定适合高访问量的页面请求,因为调度器可能成为瓶颈或者302跳转增加了DNS的时间,当然302可以设置缓存过期时间。
评论排行
- ·Windows(Win7)下用Xming...(92)
- ·使用jmx client监控activemq(20)
- ·Hive查询OOM分析(14)
- ·复杂网络架构导致的诡异...(8)
- ·使用 OpenStack 实现云...(7)
- ·影响Java EE性能的十大问题(6)
- ·云计算平台管理的三大利...(6)
- ·Mysql数据库复制延时分析(5)
- ·OpenStack Nova开发与测...(4)
- ·LTPP一键安装包1.2 发布(4)
- ·Linux下系统或服务排障的...(4)
- ·PHP发布5.4.4 和 5.3.1...(4)
- ·RSYSLOG搭建集中日志管理服务(4)
- ·转换程序源码的编码格式[...(3)
- ·Linux 的木马程式 Wirenet 出现(3)
- ·Nginx 发布1.2.1稳定版...(3)
- ·zend framework文件读取漏洞分析(3)
- ·Percona Playback 0.3 development release(3)
- ·运维业务与CMDB集成关系一例(3)
- ·应该知道的Linux技巧(3)