Por curiosidad, quería saber cómo escala Wordpress.com su arquitectura, específicamente:
cómo manejan los subdominios.
Creo que tienen millones de subdominios.CMIIW. ¿Cómo escalan su DNS para manejarlo?
También admiten dominios personalizados.
¿Cómo manejan la traducción y también cómo escalan las solicitudes?
nota, elijo elwordpressetiqueta, porque no estoy permitidotodavíacrearwordpress.cometiqueta.
Respuesta1
Probablemente este no sea el lugar adecuado para hacer esta pregunta, pero;
1) Subdominios
Me imagino que solo tienen un subdominio comodín. Si ejecuta la dig
herramienta obtendrá una respuesta 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
Esto es un poco extenso, pero aquí hay un desglose básico;
test.wordpress.com. 14400 IN CNAME lb.wordpress.com.
test.wordpress.com, o cualquier subdominio de wordpress.com, es un CNAME para lb.wordpress.com (supongo que 'lb' es 'equilibrador de carga'). lb.wordpress.com contiene algunos registros A que apuntan a sus servidores. En el lado del servidor, lo más probable es que tengan la configuración establecida de manera que *.wordpress.com CNAME sea lb.wordpress.com, luego, cuando necesiten agregar/eliminar/modificar servidores, pueden cambiar la configuración de lb.wordpress.com.
2) Dominios personalizados.
En realidad, esto es más un problema del lado de la aplicación, cada* solicitud HTTP envía un encabezado HTTP que contiene el host. Se puede acceder a este desde la aplicación, por ejemplo en PHP puedes obtener este valor con $_SERVER['HTTP_HOST']
. Entonces es simplemente cuestión de buscar a qué 'usuario' pertenece un host HTTP y devolver el contenido. Para entender esto un poco más te sugiero que investigues la formaWordPress MU,Redes Wordpress(MU fue 'descontinuado'/fue integrado en el núcleo del estándar Wordpress) y elComplemento 'Asignación de dominios MU de WordPress'trabajar.
*La mayoría, de hecho, puedes depender en gran medida del encabezado Host: que se envía. Cualquier cliente que no envíe encabezados de Host probablemente tendrá muchos otros problemas.
Respuesta2
Te sugiero que busques enhttp://highscalability.com/blog/y síguelo.
Tienen pocos artículos sobre la escalabilidad de WordPress.
@SAM, nunca podrás saber cómo se escala wordpress.com haciendo excavación o fuerza bruta dns.