出于好奇,我想知道,Wordpress.com如何扩展他们的架构,特别是:
他们如何处理子域名。
我相信他们有数百万个子域名。 他们如何扩展他们的DNS来处理它?
他们还支持自定义域名。
他们如何处理翻译,以及他们如何扩大翻译需求?
注意,我select了wordpress标签,因为我还没有被允许创buildwordpress.com标签。
这可能不是问这个问题的正确的地方,
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包含一些指向他们服务器的logging。 在服务器端,他们很可能将configuration设置为* .wordpress.com CNAME到lb.wordpress.com,然后当他们需要添加/删除/修改服务器时,他们可以更改lb.wordpress.com的设置。
2)自定义域。
这实际上是一个应用程序端问题,每个HTTP请求都会发送一个包含主机的HTTP头。 这可以从应用程序访问,例如在PHP中,您可以使用$_SERVER['HTTP_HOST']
获取此值。 然后,只需要查找HTTP主机所属的“用户”并返回内容即可。 为了更好地理解这一点,我build议你看看Wordpress MU , WordPressnetworking (MU被“中断”/它被集成到Wordpress标准的核心)和“Wordpress MU域映射”插件的工作方式。
*大部分,实际上你可以很大程度上依赖主机:头被发送。 任何不发送主机头的客户端可能会遇到许多其他问题。
我build议你在http://highscalability.com/blog/上search并按照它进行search。
他们没有关于wordpress可伸缩性的文章。
@SAM你永远不会知道如何通过做挖或dns暴力强制缩小wordpress.com。