Как wordpress.com делает масштабируемость

Как wordpress.com делает масштабируемость

Из любопытства я хотел узнать, как Wordpress.com масштабирует свою архитектуру, а именно:

  1. как они обрабатывают поддомены.

    Я думаю, у них миллионы поддоменов.CMIIW. Как они масштабируют свои DNS, чтобы справиться с этим?

  2. Они также поддерживают пользовательские домены.

    Как они справляются с переводом и как масштабируют запросы?

обратите внимание, я выбираювордпресстэг, потому что мне не разрешеноещесоздаватьwordpress.comярлык.

решение1

Возможно, это неподходящее место для этого вопроса, но:

1) Субдомены

Я бы предположил, что у них просто поддомен wildcard. Если вы запустите 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 — это CNAME для lb.wordpress.com (я предполагаю, что 'lb' — это 'load balancer'). 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 Domain Mapping»работа.

*В большинстве случаев, на самом деле, вы можете положиться на заголовок Host:, который отправляется. Любой клиент, который не отправляет заголовки Host, скорее всего, столкнется со многими другими проблемами.

решение2

Я предлагаю вам поискать наhttp://highscalability.com/blog/и следуйте ему.

У них мало статей о масштабируемости WordPress.

@SAM, вы никогда не узнаете, насколько масштабируется wordpress.com с помощью dig или DNS-brute-forcing.

Связанный контент