¿Cómo alojar un sitio de WordPress en varios serveres debido a problemas de location geográfica?

El website de WordPress está actualmente alojado en los EE.UU., aquí es donde está el 40% de nuestro público objective. El rest de visitantes viene de Oriente Medio, Australia, Rusia, China, Singapur, Reino Unido, Suiza, Kazajstán … en todo el map.

Con todo el almacenamiento en caching en lugar (no CDN) todavía apenas se carga en Asia / Oceanía y tiene problemas de velocidad en Europa.

¿Puedo simplemente configurar varios serveres y crear varios loggings A que apuntan a diferentes serveres en diferentes regiones y asumir que un visitante de Australia se servirá de server australiano?

¿Algun consejo?

Los problemas con la distribución geográfica de WordPress, como verá, giran alnetworkingedor de la database MySQL.

Hay básicamente dos maneras de arquitecto esto:

Leer réplicas

En esta architecture, ejecuta el frontend de LAMP con WordPress en varias ubicaciones geográficas, cada una de las cuales tiene una réplica de lectura (esclava) de la database maestra de MySQL. Necesitará utilizar algo como MySQL Proxy para dirigir las operaciones de escritura de nuevo al maestro, ya que WordPress no soporta de forma nativa el uso de una connection de database diferente para lecturas y escrituras.

El gran problema con esta configuration es que si su maestro se cae, no puede hacer cambios (por ejemplo, no hay nuevos posts o comentarios). Por lo tanto, el maestro debería estar agrupado o protegido (por ejemplo, usando Amazon RDS Multi-AZ). Las escrituras de database también se retrasan ligeramente debido a la latencia de networking entre el frontend de LAMP y el maestro de MySQL remoto.

Multimaster

En esta architecture, se ejecuta el frontend de LAMP con WordPress en varias ubicaciones geográficas, cada una de las cuales tiene una database replicada multi-master, usando algo como MariaDB Galera o una solución equivalente de MySQL (si puede encontrar uno). Necesitas tener al less tres maestros si vas por esta ruta.

Como no hay un solo punto de fallo, realmente no importa si un maestro se cae (siempre y cuando no todos bajan al mismo time, esa situación requiere intervención manual para recuperarse).

El problema con esto es que las escrituras toman mucho más time, ya que tienen que ser replicadas a todos los maestros múltiples. Así que la gente puede notar unos pocos segundos de retraso al hacer cualquier cosa que escribe en el DB, como comentar o escribir un nuevo post. En la práctica, este retraso no es tan importante, ya que los usuarios ya esperan retrasos cuando envían información en estos contexts.


Si usted tiene tres o más ubicaciones geográficas que va a desplegar, voy a seguir adelante y pasar el esfuerzo para ir multi-master. Si sólo tiene dos ubicaciones, puede get una réplica de lectura y un proxy por ahora.

Estoy asumiendo desde esta pregunta ha sido labeldo amazon-web-services que su sitio WordPress se está ejecutando en las instancias de Amazon AWS EC2. Si es así, puede utilizar el producto Route53 de Amazon para servir a los loggings de DNS geocharts. Aquí puede encontrar un tutorial en profundidad. Hay otros proveedores de DNS que admiten loggings de DNS geocharts como Dyn, pero tenga en count que será una característica premium que tendrá que pagar.

¿Puedo simplemente configurar varios serveres y crear varios loggings A que apuntan a diferentes serveres en diferentes regiones y asumir que un visitante de Australia se servirá de server australiano?

no, no es posible En tal caso sería algo como round robin. En su caso CDN sería la mejor opción, imho.