El escalado de arquitectura es la selección de enfoques que permiten a un sistema manejar cargas crecientes sin perder rendimiento y fiabilidad.
Existen dos tipos de escalado:
Las estrategias clave incluyen:
Ejemplo usando Kubernetes (escalado horizontal):
apiVersion: apps/v1 kind: Deployment metadata: name: myapp spec: replicas: 5 template: spec: containers: - name: myapp image: myapp:latest
Características clave:
¿Se puede escalar un servicio stateful tan fácilmente como uno stateless?
No, los servicios stateful (por ejemplo, bases de datos) requieren mecanismos complejos de replicación y consistencia. Los servicios stateless se pueden clonar y desplegar fácilmente en varias instancias.
¿Permite una sola base de datos manejar fácilmente la carga con escalado vertical?
Solo hasta cierto límite. Después de eso, se presenta un "cuello de botella", la solución es el escalado horizontal mediante fragmentación o migración a bases de datos distribuidas.
¿Se pueden escalar eficazmente las aplicaciones monolíticas?
Puede ser posible, pero con grandes limitaciones: los monolitos generalmente no escalan bien de manera horizontal, es más complicado añadir y mantener copias ante cambios en la carga.