wordpress.com 如何实现可扩展性

wordpress.com 如何实现可扩展性

出于好奇,我想知道 Wordpress.com 如何扩展其架构,具体来说:

  1. 他们如何处理子域名。

    我相信他们有数百万个子域名。CMIIW。他们如何扩展 DNS 来处理它?

  2. 他们还支持自定义域。

    他们如何处理翻译以及如何扩展请求?

注意,我选择WordPress的标签,因为我不被允许然而创造wordpress.com标签。

答案1

这可能不是提出这个问题的正确地方,但是;

1)子域名

我猜他们只是有一个通配符子域名。如果你运行该dig工具,你会得到这样的响应;

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> test.wordpress.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62954
;; flags: qr rd ra; QUERY: 1, ANSWER: 7, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;test.wordpress.com.            IN      A

;; ANSWER SECTION:
test.wordpress.com.     14400   IN      CNAME   lb.wordpress.com.
lb.wordpress.com.       300     IN      A       76.74.254.120
lb.wordpress.com.       300     IN      A       76.74.254.123
lb.wordpress.com.       300     IN      A       72.233.2.58
lb.wordpress.com.       300     IN      A       72.233.69.6
lb.wordpress.com.       300     IN      A       74.200.243.251
lb.wordpress.com.       300     IN      A       74.200.244.59

;; Query time: 237 msec
;; SERVER: 192.168.16.103#53(192.168.16.103)
;; WHEN: Mon Nov 21 10:27:33 2011
;; MSG SIZE  rcvd: 149

这有点难理解,但这里有一个基本的分解:

test.wordpress.com.     14400   IN      CNAME   lb.wordpress.com.

test.wordpress.com 或 wordpress.com 的任何子域都是 lb.wordpress.com 的 CNAME(我假设“lb”是“负载平衡器”)。lb.wordpress.com 包含一些指向其服务器的 A 记录。在服务器端,他们很可能已将配置设置为 *.wordpress.com CNAME 指向 lb.wordpress.com,然后当他们需要添加/删除/修改服务器时,他们可以更改 lb.wordpress.com 的设置。

2)自定义域。

这实际上更像是应用程序端的问题,每个* HTTP 请求都会发送一个包含主机的 HTTP 标头。这可以从应用程序访问,例如在 PHP 中,您可以使用 获取此值$_SERVER['HTTP_HOST']。然后只需查找 HTTP 主机属于哪个“用户”并返回内容即可。为了更好地理解这一点,我建议您研究一下WordPress 社区Wordpress 网络(MU 已“停产”/它已集成到 Wordpress 标准的核心中)和“Wordpress MU 域名映射”插件工作。

*事实上,您几乎可以依赖发送的 Host: 标头。任何不发送 Host 标头的客户端都可能遇到许多其他问题。

答案2

我建议你搜索http://highscalability.com/blog/并遵循它。

他们很少有关于 WordPress 可扩展性的文章。

@SAM 你永远无法知道 wordpress.com 是如何通过挖掘或 dns 暴力破解来扩展的。

相关内容