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.