Junior — Middle
Pouvez-vous expliquer ce que l'on entend par évolutivité du système?
sobes.tech IA
Réponse de l'IA
La scalabilité du système est la capacité du système à fonctionner efficacement à mesure que la charge ou le volume de données augmente. Elle indique à quel point il est facile d’étendre le système pour gérer un plus grand nombre d’utilisateurs, de requêtes ou de données.
Il existe deux principaux types de scalabilité:
- Scalabilité verticale (scale-up) — augmentation des ressources d’un seul serveur (par exemple, ajouter de la mémoire RAM ou des processeurs).
- Scalabilité horizontale (scale-out) — ajout de nouveaux serveurs ou nœuds au système.
Dans le contexte de Golang, la scalabilité est souvent atteinte grâce à une utilisation efficace des goroutines, des canaux et des systèmes distribués.
Exemple d’un serveur HTTP simple pouvant traiter de nombreuses requêtes en parallèle grâce aux goroutines:
package main
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Bonjour, le Monde!")
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}
Un tel serveur peut traiter de nombreuses requêtes simultanément, ce qui fait partie de la scalabilité.