Sobes.tech
Junior — Middle

Pode explicar o que se entende por escalabilidade do sistema?

sobes.tech IA

Resposta da IA

A escalabilidade do sistema é a capacidade do sistema de funcionar de forma eficiente à medida que aumenta a carga ou o volume de dados. Ela mostra quão facilmente o sistema pode ser expandido para lidar com um maior número de utilizadores, pedidos ou dados.

Existem dois tipos principais de escalabilidade:

  • Escalabilidade vertical (scale-up) — aumento de recursos de um único servidor (por exemplo, adicionar memória RAM ou processadores).
  • Escalabilidade horizontal (scale-out) — adição de novos servidores ou nós ao sistema.

No contexto do Golang, a escalabilidade é frequentemente alcançada através do uso eficiente de goroutines, canais e sistemas distribuídos.

Exemplo de um servidor HTTP simples que pode atender a muitas solicitações em paralelo graças às goroutines:

package main

import (
    "fmt"
    "net/http"
)

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

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

Este servidor pode processar muitas solicitações simultaneamente, o que faz parte da escalabilidade.