Perché la latenza di rete uccide la tua applicazione
La latenza è un killer silenzioso per i sistemi distribuiti e le API. Un piccolo ritardo al livello di trasporto causa enormi problemi al livello applicativo. Questo rovina l'esperienza per gli strumenti web in tempo reale e lo streaming AI.
Non puoi ignorare la fisica di Internet.
Il vincolo della velocità della luce
I dati viaggiano attraverso cavi in fibra ottica sul fondo dell'oceano. La luce si muove più lentamente nel vetro che nel vuoto. La luce nella fibra viaggia a circa 204.500 km/s.
Se invii dati da Tokyo a San Francisco, la distanza è di circa 9.000 km. La fisica impone un tempo di andata e ritorno (round-trip time) minimo di circa 88 ms. Non puoi superare questo limite. Qualsiasi errore di instradamento o congestione aggiunge ulteriore ritardo.
Instradamento Anycast vs. Unicast
In una rete Unicast, ogni server ha un indirizzo IP unico. Se un utente a Londra raggiunge un server a New York, i dati viaggiano attraverso molti salti (hops) imprevedibili. Ciò causa picchi di latenza.
L'Anycast cambia tutto. Assegni lo stesso indirizzo IP a più data center edge a livello globale.
• I router trovano il percorso più breve tramite BGP. • I pacchetti vanno al nodo edge fisico più vicino. • La configurazione della connessione avviene all'edge, non attraverso gli oceani.
Questo sposta il perimetro della tua rete più vicino ai tuoi utenti.
Il pericolo della perdita di pacchetti
Molti ingegneri pensano che una perdita di pacchetti dell'1% sia accettabile. Non lo è.
Gli algoritmi TCP standard come Cubic rilevano un singolo pacchetto perso e vanno in panico. Riducono drasticamente la finestra di congestione (congestion window) del 30%. Se la perdita continua, il tuo collegamento in fibra da 1 Gbps si comporterà come una vecchia connessione dial-up.
Se i pacchetti vengono persi troppo spesso, il sistema raggiunge un Retransmission Timeout. Ogni timeout raddoppia il tempo di attesa. Un piccolo intoppo di rete può bloccare un'applicazione per diversi secondi.
Due modi per risolvere il problema
I team moderni utilizzano questi due metodi per mantenere la velocità:
- Google BBR: Questo algoritmo misura la larghezza di banda effettiva invece di reagire a ogni pacchetto perso. Mantiene il throughput stabile anche durante lievi congestioni.
- Protocollo QUIC: Funziona su UDP per evitare il head-of-line blocking. Se un pacchetto viene perso, gli altri flussi di dati continuano a muoversi. Ciò impedisce che una singola perdita blocchi l'intera sessione.
Smetti di trattare Internet come una nuvola magica. Comprendi la realtà fisica dei tuoi dati.
Community di apprendimento opzionale: https://t.me/GyaanSetuAi