Los sitios web grandes tendrían máquinas de servidores de bases de datos dedicadas que son independientes de las máquinas de servidores de aplicaciones. También tendrán redes locales de alta velocidad entre estas máquinas o grupos de máquinas.
Tener aplicaciones e instancias del servidor de bases de datos en máquinas separadas resuelve varios problemas:
- Como las aplicaciones y las bases de datos se comportan de manera diferente, normalmente desea que las máquinas del servidor de bases de datos tengan una configuración de hardware diferente de la mayoría de las máquinas de aplicaciones. Las máquinas de servidor de base de datos necesitan toneladas de RAM y E / S sofisticadas, mientras que las máquinas de aplicaciones generalmente pueden salirse con la E / S básica (especialmente si el registro es manejado por una base de datos como MongoDB o Elasticsearch), y solo CPU rápida y mucha RAM.
- Tener un montón de máquinas que realizan trabajos dedicados le permite tener flexibilidad para cosas como mantenimiento y actualización.
- También se requieren varias máquinas para tener estrategias de conmutación por error limpias tanto para la aplicación como para las máquinas db. Su mundo de DB tendrá esclavos de replicación de base de datos y estos deben estar en máquinas separadas de sus máquinas de DB “maestras” (y los servidores esclavos deben ser aprovisionados de manera idéntica a sus maestros activos para que puedan ser maestros si lo necesitan).
- Tener diferentes máquinas ofrece un nivel adicional de seguridad. Las máquinas de la aplicación deberán estar visibles desde el exterior de Internet, pero las máquinas de la base de datos, que generalmente es donde viven sus datos más seguros, solo deben ser visibles para las máquinas de la aplicación, por lo que alguien que quiera piratear su mundo de datos necesitaría ejecutar dos niveles de piratería para acceder a la base de datos.
- También puede “equilibrar la carga” de sus máquinas de aplicaciones si están separadas de las máquinas de db. Los equilibradores de carga se pueden usar tanto para el equilibrio de carga real como para manejar varios tipos de conmutación por error.
- Escuché que hay una cierta cantidad de velocidad (en el tiempo) que si obtiene su sitio web lo suficientemente rápido le dará una experiencia de usuario mucho mayor. Escuché que hay un límite 'mágico' que, si lo logras, es genial para los usuarios, pero más rápido que eso, deja de hacer la diferencia. Creo que escuché que 150 ms es ese número. ¿Es cierto que existe un número como ese? Si es así, ¿qué es? ¿Y qué estudios lo confirman?
- Al comprar dominios para un sitio web comercial, ¿solo necesitamos un .com?
- ¿Qué es el diseño de sitios web?
- ¿Cuál es la mejor herramienta prototipo para diseñar un sitio web?
- Le ofrecí a un cliente en Inglaterra que le construyera un sitio web. Si le gusta, puede comprarlo. ¿Cuánto debo pedir? El backend del sitio web es básico para desarrollar.