La arquitectura dada es un ejemplo de un sistema basado en cliente-servidor. En esto, hay un cliente que envía requests al servidor y luego el cliente recibe una respuesta del servidor en consecuencia, pero cuando aumenta la cantidad de usuarios/clientes, la carga en el servidor aumenta enormemente, lo que dificulta el desempeño del servidor. eficientemente y por lo tanto se vuelve lento. Por lo tanto, es importante hacer que el servidor sea escalable de manera que la capacidad del servidor aumente de acuerdo con el aumento del tráfico sin ningún tipo de falla.
Escalada
Se puede definir como un proceso para expandir la configuración existente (servidores/computadoras) para manejar una gran cantidad de requests de usuarios o para administrar la cantidad de carga en el servidor. Este proceso se llama escalabilidad. Esto se puede hacer aumentando la configuración actual del sistema (aumentando la RAM, la cantidad de servidores) o agregando más potencia a la configuración. La escalabilidad juega un papel vital en el diseño de un sistema, ya que ayuda a responder a una gran cantidad de requests de los usuarios de manera más efectiva y rápida.
Hay dos maneras de hacer esto :
- Escala vertical
- Escala horizontal
Escala vertical
Se define como el proceso de aumentar la capacidad de una sola máquina agregando más recursos como memoria, almacenamiento, etc. para aumentar el rendimiento del sistema. No se agrega ningún recurso nuevo, sino que se hace más eficiente la capacidad de los recursos existentes. Esto se llama escalado vertical . El escalado vertical también se denomina enfoque de escalamiento vertical.
Ejemplo: MySQL
Ventajas del escalado vertical
- Es fácil de implementar
- Costos de software reducidos ya que no se agregan nuevos recursos
- Se requieren menos esfuerzos para mantener este sistema único
Desventajas del escalado vertical
- Falla de un solo punto
- Ya que cuando el sistema (servidor) falla, el tiempo de inactividad es alto porque solo tenemos un único servidor
- Alto riesgo de fallas de hardware
Un ejemplo en tiempo real de escalado vertical
Cuando aumenta el tráfico, el rendimiento del servidor se degrada. La primera solución posible que todo el mundo tiene es aumentar la potencia de su sistema. Por ejemplo, si antes usaban 8 GB de RAM y 128 GB de disco duro, ahora con el aumento del tráfico, la potencia del sistema se ve afectada. Entonces, una posible solución es aumentar la memoria RAM existente o el almacenamiento en el disco duro, por ejemplo, los recursos podrían aumentarse a 16 GB de RAM y 500 GB de disco duro, pero esta no es una solución definitiva ya que después de un tiempo, estas capacidades llegará a un punto de saturación.
Escala horizontal
Se define como el proceso de agregar más instancias del mismo tipo al grupo de recursos existente y no aumentar la capacidad de los recursos existentes como en el escalado vertical. Este tipo de escalado también ayuda a disminuir la carga en el servidor. Esto se denomina Escalamiento
horizontal El escalamiento horizontal también se denomina enfoque de escalamiento horizontal.
En este proceso se incrementa el número de servidores y no la capacidad individual del servidor. Esto se hace con la ayuda de un Load Balancer que básicamente enruta las requests de los usuarios a diferentes servidores según la disponibilidad del servidor. De este modo, aumenta el rendimiento general del sistema. De esta manera, todo el proceso se distribuye entre todos los servidores en lugar de depender de un solo servidor.
Ejemplo: NoSQL , Cassandra y MongoDB
Ventajas del escalado horizontal
- Tolerancia a fallas significa que no hay un punto único de falla en este tipo de escala porque aquí hay 5 servidores en lugar de 1 servidor potente. Entonces, si alguno de los servidores falla, habrá otros servidores para la copia de seguridad. Mientras que, en Vertical Scaling , hay una falla de un solo punto, es decir, si un servidor falla, todo el servicio se detiene.
- Latencia baja: La latencia se refiere a qué tan tarde o retrasada se está procesando nuestra solicitud.
- Copia de seguridad integrada
Desventajas del escalado horizontal
- No es fácil de implementar ya que hay una serie de componentes en este tipo de escala
- el costo es alto
- Se requieren componentes de red como, enrutador, balanceador de carga
Un ejemplo en tiempo real de escalado horizontal
Por ejemplo, si existe un sistema con una capacidad de 8 GB de RAM y, en el futuro, hay un requisito de 16 GB de RAM, entonces, en lugar de aumentar la capacidad de 8 GB de RAM a 16 GB de RAM, instancias similares de 8 Se podría usar GB de RAM para cumplir con los requisitos.
Publicación traducida automáticamente
Artículo escrito por smriti_rout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA