wordpress.com 如何實現可擴充性

wordpress.com 如何實現可擴充性

出於好奇,我想知道 Wordpress.com 如何擴展其架構,具體來說:

  1. 他們如何處理子網域。

    我相信他們有數百萬個子域名.CMIIW。他們如何擴展 DNS 來處理這個問題?

  2. 他們還支援自訂域。

    他們如何處理翻譯以及如何擴展請求?

注意,我選擇文字新聞標籤,因為我不允許然而創造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 MU,WordPress 網路(MU 被‘停產’/它被整合到 Wordpress 標準的核心中)並且“Wordpress MU 域映射”插件工作。

*事實上,大多數情況下,您幾乎可以依賴發送的 Host: 標頭。任何不發送主機標頭的用戶端都可能會遇到許多其他問題。

答案2

我建議你搜尋一下http://highscalability.com/blog/並遵循它。

他們關於 WordPress 可擴展性的文章很少。

@SAM,你永遠無法知道 wordpress.com 是如何透過挖掘或 dns 暴力破解來擴展的。

相關內容