Pregunta

Esto es algo que siempre me he preguntado acerca. Yo entiendo que la escala horizontal es sobre la adición de más máquinas en la mezcla. Pero puedo pensar en dos aproximaciones a este. Supongamos que tengo 20 servidores que quiero usar (además de una base de datos). Puedo:

  1. Haga los 20 servidores ejecutan como servidores de aplicaciones.
  2. Hacer diferentes servidores hacen diferentes partes de una tarea. Por ejemplo, tiene un conjunto de servidores manejar la petición, a continuación, otro conjunto de aplicar la lógica de negocio, y luego otro para realizar la llamada base de datos.

Número 1 parece ser más común y más fácil de entender, pero el número 2 parece ser considerados "mejores prácticas" (ya que es sobre todo una arquitectura n-tier). ¿Cómo se escoge entre estos dos modelos? Y cuáles son los pros y los contras de cada enfoque?

¿Fue útil?

Solución

Depende de la tarea, y cuáles serían sus cuellos de botella.

Casi sin excepción, vas a necesitar por lo menos dos tipos de servidor: 1) Aplicación y 2) de base de datos. Si distribuye los servidores de aplicaciones, sigue siendo necesario para sincronizar datos entre ellos, por lo que uno de esos servidores (o un servidor independiente) será su servidor de base de datos.

Si conoce la base de datos no se verán afectados con la cantidad de tráfico (por ejemplo: está ejecutando un sitio basado en chat en vivo, y no a la cantidad de datos se almacena o se sincroniza de forma permanente), entonces la opción de hacer nada más que servidores de aplicaciones podría estar bien .

Opción # 2 es mejor, sin embargo, para la mayoría de los sitios, especialmente si usted no sabe de antemano qué servidores se convertirán en los cuellos de botella. Si usted no permite que para cada tipo de servidor a escala, entonces tendremos que aguantar tener que reescribir el código fuente durante períodos de crecimiento inesperados. Entonces usted tiene que tomar decisiones difíciles como "¿Qué características debe tener que desactivar lo que el sitio puede seguir funcionando mientras se trabaja en la ampliación?"

Honestamente, sin embargo, yo no pasar demasiado tiempo en preocuparse por la escalabilidad. Una vez que se llega a un punto en que sus cargas de los servidores se están volviendo demasiado alta, usted será capaz de pagar algunas reescrituras de origen. Ya sea a través de fuentes de financiación recientemente descubiertas, o por medio de las ganancias directa desde el complejo. El caso en cuestión:. Twitter sigue haciendo gran

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top