全国数据中心的镜像服务器 – 数百万用户如何从“google.com”请求中同时获得即时结果? 我通过弄错这个问题而忽视了我的IT面试。
我认为,在各个大城市地区,“ http://google.com ”请求会发送到ISP的DNS服务器,DNS服务器以某种方式返回几个地理位置相邻的http服务器之一的IP地址,然后内部转到下一个可用的本地Google服务器。 但是,我无法解释可用本地Google服务器的表格实际caching的位置,或IP地址翻转的详细信息。 或者他们如何从任何地方手动将服务器转移出去。
那么,现在我应该读什么,下一次我可以提出这个问题呢?
另外,守护进程会在这些机器上24/7全天候运行,以保持所有这些镜像数据库磁盘的同步?
我在这里混了。 谷歌做什么是标准的任播。
http://en.wikipedia.org/wiki/Anycast
基本上你有自己的互联网地址,在你自己的AS(系统pipe理员应该知道的一个术语)中,然后为所有的群集分配相同的IP范围(所有的数据中心)。 DNS会循环,但是你不用这个来指向一个特定的地址….你使用bgp anycast通告。 你需要的是访问互联网gbp级别,这需要你自己的AS。 诀窍是,如果一个DNS说“地址x”,那么你的DNS选播设置路由所有请求到最近的数据中心。
也就是说,对于一个正式的系统pipe理员来说,了解这一点并不是标准知识。 正如你可以看到更进一步的错误答案谁似乎没有意识到任播,这是一个非常标准的方法。 BGP /互联网主干路由协议不是networkingpipe理员有99%需要知道的东西。 在这方面,这个问题是不公平的,或者是一个高级职位。
另外,守护进程会在这些机器上24/7全天候运行,以保持所有这些镜像数据库磁盘的同步?
没有。 光盘不同步。 据我所知,谷歌机器运行在X机器群(每个组成一个function单位)和culusters不会得到更新。 他们定期重新安装一个新的和更新的图像。 在安装之间,不会发生同步。
这是面试的系统pipe理员职位? 如果是的话,我觉得这个问题有点不公平。 当然,我不知道这个问题的全部广度和背景,而且你一定知道DNS和负载均衡等组件是如何工作的,但是我不认为你会知道Google(例如)设法使其服务全球多样化和高度可用。
全国数据中心的镜像服务器? 这可能意味着什么。
什么需要被镜像? 一个网站? Windows域基础结构? 一个FTP服务? 等等
您可能想要查看负载平衡和CDN。
没有一个特定的守护进程,我知道。 然而有很多方法可以做到这一点。
编辑:并回答您的评论,DNS不是这里的票。 它关于CDN(内容分发networking)和负载平衡器的所有内容,都被redirect到许多可用的镜像主机。 这些主机通过任何技术进行镜像,包括(不可能在谷歌的情况下)的rsync和这种性质的东西。