¿Qué es un sistema escalable en un sistema distribuido?

El Sistema Escalable en Sistema Distribuido se refiere al sistema en el que existe la posibilidad de ampliar el sistema a medida que crece el número de usuarios y recursos con el tiempo. 

  • El sistema debe ser lo suficientemente capaz para manejar la carga que el sistema y el software de aplicación no necesitan cambiar cuando aumenta la escala del sistema.
  • Por ejemplo, con el aumento del número de usuarios y estaciones de trabajo, es probable que aumente la frecuencia de acceso a archivos en un sistema distribuido. Por lo tanto, debe haber alguna posibilidad de agregar más servidores para evitar cualquier problema en el manejo de acceso a archivos.
  • La escalabilidad generalmente se considera en relación con el hardware y el software. En hardware, la escalabilidad se refiere a la capacidad de cambiar las cargas de trabajo alterando los recursos de hardware, como los procesadores, la memoria y el espacio del disco duro. La escalabilidad del software se refiere a la capacidad de adaptarse a cargas de trabajo cambiantes alterando el mecanismo de programación y el nivel de paralelismo.

Necesidad de marco de escalabilidad:

El marco de escalabilidad es necesario para las aplicaciones, ya que se refiere a la capacidad de un sistema de software para escalar de alguna manera cuando y donde sea necesario debido a las demandas cambiantes del sistema, como el aumento de usuarios o la carga de trabajo, etc.

Los ejemplos incluyen Spring Framework, JavaServer Faces (JSF), Struts, Play! y Google Web Toolkit (GWT).

Cómo medir la escalabilidad:

Podemos medir la Escalabilidad en términos de desarrollar y probar la base de un sistema escalable. Sin embargo, medir con precisión la escalabilidad de un sistema es difícil debido al entorno amplio y diverso de los sistemas escalables. El método de métrica general en este proceso es analizar las mejoras en el rendimiento del sistema mediante la carga de varios recursos y cargas del sistema. El sistema tiene la mejor escalabilidad cuando la carga de trabajo y los recursos informáticos aumentan o disminuyen en un factor de K al mismo tiempo, mientras que el tiempo de respuesta promedio del sistema o aplicación permanece sin cambios.

Medidas de Escalabilidad:

  • Escalabilidad de tamaño
  • Escalabilidad Geográfica
  • Escalabilidad Administrativa

1. Escalabilidad del tamaño: Habrá un aumento en el tamaño del sistema cada vez que crezcan los usuarios y los recursos, pero no debe hacerse a costa del rendimiento y la eficiencia del sistema. El sistema debe responder al usuario de la misma manera que respondía antes de escalar el sistema.

2. Escalabilidad Geográfica: La escalabilidad geográfica se refiere a la adición de nuevos Nodes en un espacio físico que no debería afectar el tiempo de comunicación entre los Nodes. 

3. Escalabilidad Administrativa: En Escalabilidad Administrativa, no debería requerirse una gestión significativa de los nuevos Nodes que se van agregando al sistema. Por ejemplo, si hay varios administradores en el sistema, el sistema se comparte con otros mientras uno de ellos lo usa.

Tipos de escalabilidad:

1. Escalabilidad horizontal: la escalabilidad horizontal implica la adición de nuevos servidores al conjunto existente de recursos en el sistema. El principal beneficio radica en el escalado del sistema dinámicamente. Por ejemplo, Cassandra y MongoDB. En ellos se realiza el escalado horizontal añadiendo más máquinas. Además, el equilibrador de carga se emplea para distribuir la carga en los servidores disponibles, lo que aumenta el rendimiento general.

2. Escalabilidad vertical: la escalabilidad vertical se refiere a la adición de más potencia al conjunto existente de recursos, como servidores. Por ejemplo, MySQL. Aquí, el escalado se lleva a cabo cambiando de máquinas más pequeñas a más grandes.

Types of Scalability in Distributed System

 

¿Por qué preferir la escalabilidad horizontal?

El escalado vertical debe optar por aplicaciones de baja escala, ya que existe la restricción de agregar CPU, RAM y almacenamiento ilimitados a un solo servidor. Pero en el escalado horizontal, no existe tal restricción. La cantidad de máquinas o recursos se puede aumentar para manejar la carga.

Publicación traducida automáticamente

Artículo escrito por annieahujaweb2020 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *