看了这个文章:Nginx负载均衡单点故障问题的解决
里面提到 『scale out扩容方案--DNS轮询』
一个域名可以在 dns 那里绑定多个 ip
然后我通过这个文章的方式:5 个用于在 Linux 终端中查找域名 IP 地址的命令
我就想看一下,baidu.com 这个国内顶流,绑定了多少个 ip 地址来实现负载均衡
; <<>> DiG 9.10.6 <<>> baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31174
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;baidu.com. IN A
;; ANSWER SECTION:
baidu.com. 419 IN A 110.242.68.66
baidu.com. 419 IN A 39.156.66.10
;; Query time: 2 msec
;; SERVER: 221.12.1.227#53(221.12.1.227)
;; WHEN: Wed Feb 08 09:42:22 CST 2023
;; MSG SIZE rcvd: 59
结果才 110.242.68.66、39.156.66.10 两个?
而谷歌只有一个?
─➤ dig google.com
; <<>> DiG 9.10.6 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62154
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 48 IN A 172.217.163.46
;; Query time: 2 msec
;; SERVER: 221.12.1.227#53(221.12.1.227)
;; WHEN: Wed Feb 08 10:00:35 CST 2023
;; MSG SIZE rcvd: 44
不排除墙的问题
抖音也只有两个
─➤ dig douyin.com
; <<>> DiG 9.10.6 <<>> douyin.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26027
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;douyin.com. IN A
;; ANSWER SECTION:
douyin.com. 48 IN A 122.14.229.127
douyin.com. 48 IN A 122.14.229.128
;; Query time: 3 msec
;; SERVER: 221.12.1.227#53(221.12.1.227)
;; WHEN: Wed Feb 08 10:01:51 CST 2023
;; MSG SIZE rcvd: 60
对于百度、字节这么大的访问量,两个 IP 就够了吗?
还是说这个 dog 命令看不全?
这里的 ip 不是背后的 ip,而是注册在 dns 商那里的 ip,这个是公开的
答案是没有。
许多用于CDN 绕过的工具可以获取到指向同一域名的大部分 IP。
CDN 绕过通常采用分布在各地的大量网络终端分别解析同一域名以获取不同 IP —— 但也无法保证完全覆盖。
分布式的工具都搞不定的事情,单台机器自然不可能做到。