Junior — Middle
Come distribuire il carico tra i server durante la scalabilità orizzontale del sistema?
sobes.tech AI
Risposta dell'AI
Quando si scala orizzontalmente, il carico viene distribuito tra i server tramite bilanciatori di carico. Gli approcci principali:
- Round Robin: le richieste vengono distribuite uniformemente tra i server in ordine.
- Least Connections: la richiesta viene indirizzata al server con il minor numero di connessioni attive.
- IP Hash: le richieste di uno stesso cliente vengono sempre indirizzate allo stesso server.
Esempio di configurazione di un semplice bilanciatore in Nginx:
upstream backend {
server backend1.example.com;
server backend2.example.com;
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
Questo approccio permette di distribuire il carico in modo uniforme e di garantire la resilienza del sistema.