出于好奇,我想知道,Wordpress.com是如何扩展他们的架构的,特别是:
注意,我选择wordpress标记,因为还不允许我创建wordpress.com标记。
发布于 2011-11-21 10:35:40
这可能不是问这个问题的合适地方,但是;
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 MU、Wordpress网络 (MU被“停用”/它已经集成到Wordpress标准的核心)和‘Wordpress域映射’插件‘工作的方式。
*大多数,实际上,您可以很大程度上依赖于主机:头部被发送。任何不发送主机头的客户端可能会遇到许多其他问题。
发布于 2011-11-21 11:32:09
我建议你在http://highscalability.com/blog/上搜索并遵循它。
他们很少有关于wordpress可伸缩性的文章。
@SAM您永远不可能知道wordpress.com是如何通过执行dig或dns蛮力进行缩放的。
https://serverfault.com/questions/333146
复制相似问题