IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

大型网站用户定位技术

扶凯 2011-01-05 22:45:41 累计浏览 3,053 次
本机暂存

其实这个文章叫大型网站用户定位技术,其实今天要讲的不是智能 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 跳转,处理时间变长了一点点,所以非常合适视频网站之类来使用。

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 如何拿下简短的域名 (累计阅读 16,935)
  2. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,933)
  3. 自建DNS以防止GFW干扰 (累计阅读 13,125)
  4. 淘宝图片存储架构 (累计阅读 10,959)
  5. 强制刷新本地 DNS 缓存记录 (累计阅读 10,916)
  6. 从谷歌宕机事件认识互联网工作原理 (累计阅读 8,746)
  7. 2014年1月21日中国互联网DNS瘫痪事件原因分析 (累计阅读 8,445)
  8. 域名相关的一些基本概念总结 (累计阅读 8,093)
  9. 关于 SOCKS 代理的远端 DNS 解析 (累计阅读 7,984)
  10. DNS 隧道 (累计阅读 7,259)