L'impostazione di un peso di 0 su un endpoint nei sistemi di routing del traffico come AWS Global Accelerator o Amazon Route 53 significa efficacemente che l'endpoint non riceverà il traffico in condizioni normali. Ciò influisce sulla disponibilità e sulle prestazioni dell'endpoint nei seguenti modi dettagliati:
- Distribuzione e disponibilità del traffico:
Quando il peso di un endpoint è impostato su 0, il sistema di routing lo esclude dal pool di endpoint a cui il traffico è normalmente distribuito. Ciò significa che l'endpoint non serve attivamente le richieste dei clienti, rendendolo effettivamente non disponibile per il routing del traffico regolare. Tuttavia, l'endpoint non è considerato completamente offline o malsano; È semplicemente depriorato per il routing del traffico [2] [6].
- Comportamento di failover:
Se tutti gli endpoint con pesi superiori a 0 in un gruppo endpoint diventano malsani, il sistema tenterà di non riuscire a non riuscire a peso con peso 0. Ad esempio, AWS Global Accelerator cerca di trovare prima endpoint sani con pesi maggiori di zero in altri gruppi di endpoint. Se non viene trovato nessuno, quindi instrada il traffico verso un endpoint sano con peso 0 o verso un endpoint casuale nel gruppo endpoint più vicino al client. Questo meccanismo di failover garantisce la disponibilità anche se gli endpoint con pesi diversi da zero non sono disponibili, ma significa che gli endpoint con peso 0 possono servire il traffico durante gli scenari di failover [1] [6].
- Impatto sulle prestazioni:
Poiché gli endpoint con peso 0 non ricevono traffico sotto routing normale, non contribuiscono al bilanciamento del carico o alle prestazioni in condizioni tipiche. Durante il failover, questi endpoint possono sperimentare picchi di traffico improvvisi, che potrebbero influire sulle loro prestazioni se non sono preparati a gestire il carico. Inoltre, le connessioni attive stabilite con un endpoint con peso 0 continuano fino a quando non vengono ripristinati, il che significa che un po 'di traffico persiste anche se il peso viene cambiato in 0 [1].
- Casi d'uso per il peso 0:
L'impostazione del peso di un endpoint su 0 è utile per scenari come:
- drenando gradualmente il traffico da un endpoint prima della manutenzione o della disattivazione.
- Test o staging ambienti in cui si desidera interrompere temporaneamente l'invio del traffico senza disabilitare completamente l'endpoint.
- Endpoint di backup di failover che dovrebbero ricevere traffico solo quando gli endpoint primari sono malsani [2] [4] [6].
- Controlli sanitari e peso 0:
Gli endpoint con peso 0 partecipano ancora ai controlli sanitari. Se tutti gli endpoint ponderati diversi da zero sono malsani, il sistema considera la salute degli endpoint di peso zero per determinare il routing di failover. Ciò significa che gli endpoint di peso 0 devono essere sani per essere utilizzati in situazioni di failover [6].
In sintesi, l'impostazione di un peso di 0 non rimuove un endpoint dal monitoraggio della disponibilità, ma lo esclude dalla ricezione di traffico in condizioni normali, influenzando il suo contributo attivo delle prestazioni. Tuttavia, rimane disponibile per il failover, garantendo che la disponibilità sia mantenuta a livello di sistema, sebbene con potenziali implicazioni sulle prestazioni durante gli eventi di failover [1] [2] [6].
Citazioni:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.unhealthy-endpoints.html
[2] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html
[3] https://pmc.ncbi.nlm.nih.gov/articles/pmc4275445/
[4] https://learn.microsoft.com/en-us/azure/traffic-manager/traffic-manager-routing-methods
[5] https://www.mdpi.com/2079-9292/12/8/1906
[6] https://docs.aws.amazon.com/route53/latest/developingerguide/routing-policy-weight.html
[7] https://oacu.oir.nih.gov/system/files/media/file/2022-04/b13_endpoints_guidelines.pdf
[8] https://learn.microsoft.com/en-us/azure/traffic-manager/traffic-manager-monitoring