Sobes.tech
Junior — Middle

¿Puedes explicar qué se entiende por escalabilidad del sistema?

sobes.tech AI

Respuesta de la IA

La escalabilidad del sistema es la capacidad del sistema para funcionar de manera eficiente a medida que aumenta la carga o el volumen de datos. Muestra qué tan fácilmente se puede ampliar el sistema para manejar un mayor número de usuarios, solicitudes o datos.

Existen dos tipos principales de escalabilidad:

  • Escalabilidad vertical (scale-up) — aumento de recursos en un solo servidor (por ejemplo, agregar memoria RAM o procesadores).
  • Escalabilidad horizontal (scale-out) — agregar nuevos servidores o nodos al sistema.

En el contexto de Golang, la escalabilidad a menudo se logra mediante el uso eficiente de goroutines, canales y sistemas distribuidos.

Ejemplo de un servidor HTTP simple que puede atender muchas solicitudes en paralelo gracias a las goroutines:

package main

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "¡Hola, Mundo!")
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

Este servidor puede manejar muchas solicitudes simultáneamente, lo cual es parte de la escalabilidad.