Por curiosidade, queria saber como o Wordpress.com dimensiona sua arquitetura, especificamente:
como eles lidam com subdomínios.
Acredito que eles tenham milhões de subdomínios.CMIIW. Como eles escalam seu DNS para lidar com isso?
Eles também oferecem suporte a domínios personalizados.
Como eles lidam com a tradução e também como dimensionam as solicitações?
observe, eu escolho owordpresstag, porque não tenho permissãoaindapara criarwordpress. commarcação.
Responder1
Este provavelmente não é o lugar certo para fazer esta pergunta, mas;
1) Subdomínios
Eu imagino que eles tenham apenas um subdomínio curinga. Se você executar a dig
ferramenta, obterá uma resposta como esta;
; <<>> 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
Isso é um pouco complicado, mas aqui está uma análise básica;
test.wordpress.com. 14400 IN CNAME lb.wordpress.com.
test.wordpress.com, ou qualquer subdomínio de wordpress.com, é um CNAME para lb.wordpress.com (presumo que 'lb' seja 'balanceador de carga'). lb.wordpress.com contém alguns registros A que apontam para seus servidores. No lado do servidor, eles provavelmente têm a configuração definida para *.wordpress.com CNAME para lb.wordpress.com, então, quando precisarem adicionar/remover/modificar servidores, eles podem alterar as configurações de lb.wordpress.com.
2) Domínios personalizados.
Este é realmente mais um problema do lado do aplicativo, toda* solicitação HTTP envia um cabeçalho HTTP contendo o host. Isso pode ser acessado a partir da aplicação, por exemplo em PHP você pode obter esse valor com $_SERVER['HTTP_HOST']
. Então é simplesmente uma questão de procurar a qual 'usuário' um host HTTP também pertence e retornar o conteúdo. Para entender isso um pouco mais, sugiro que você analise o caminhoWordpress UM,Redes Wordpress(MU foi 'descontinuado'/foi integrado ao núcleo do padrão Wordpress) e oPlug-in 'Mapeamento de domínio MU do Wordpress'trabalhar.
* Na verdade, você pode depender muito do cabeçalho Host: que está sendo enviado. Qualquer cliente que não envie cabeçalhos de Host provavelmente enfrentará muitos outros problemas.
Responder2
Sugiro que você pesquisehttp://highscalability.com/blog/e siga-o.
Eles têm poucos artigos sobre escalabilidade do wordpress.
@SAM, você nunca saberá como o wordpress.com é dimensionado fazendo dig ou força bruta de DNS.