Le applicazioni moderne non risiedono in un'unica posizione. Ci sono server API, risorse statiche, servizi di autenticazione, pipeline multimediali: ciascuno di essi richiede che il traffico venga instradato correttamente. Per ottenere questo risultato era necessaria una configurazione complessa: domini multipli, VCL personalizzate, codice di elaborazione posizionato davanti all'origine o l'uso del service chaining.
Il routing delle richieste può semplificarti il tutto.
Un unico dominio, più servizi
Con il routing delle richieste, puoi definire regole basate sui percorsi su qualsiasi dominio nel nostro sistema di gestione dei domini e noi inviamo automaticamente ogni richiesta al servizio corretto, senza bisogno di codice personalizzato.
Ospita le tue pagine di marketing su una CDN statica, la tua API su un backend containerizzato e i tuoi file multimediali su object storage, il tutto in un unico dominio. Indirizza /api/* al tuo server delle app, /assets/* a S3, /auth/* al tuo provider di identità: una soluzione pulita, veloce e interamente dichiarativa.
Casi d'uso
Orchestrazione dei microservizi: indirizza le diverse versioni delle API verso specifici servizi legacy o moderni.
Localizzazione geografica: indirizza gli utenti di determinati paesi verso server di origine localizzati per ridurre la latenza.
Test A/B e implementazioni Canary: utilizza la corrispondenza basata sulle intestazioni per indirizzare una percentuale del traffico verso servizi di staging o beta.
Come funziona
Le configurazioni dei percorsi si trovano nella sezione di primo livello domini della tua dashboard. Puoi creare regole sofisticate utilizzando tre tipi principali di condizioni. La nostra prima versione supporterà solo le intestazioni, ma gli altri tipi di condizioni saranno disponibili a breve.
Intestazione: corrispondenza basata su intestazioni HTTP quali versioni API o User-Agent.
Geo: instradamento del traffico in base alla posizione geografica dell'utente, ad esempio i codici paese.
IP: filtra e indirizza in base a indirizzi o intervalli IP specifici.
In questa versione è possibile verificare se il valore di un'intestazione inizia_con, termina_con, è uguale a o contiene una determinata stringa. Ogni percorso può definire più regole e a ciascuna regola è associata un'azione. L'azione determina cosa succede quando/se una condizione viene soddisfatta. Per la versione iniziale forniamo un'azione di "servizio" che accetta come valore un ID servizio (abbiamo in programma altri tipi di azioni, in arrivo a breve). Ogni percorso richiede un'azione predefinita, ovvero una fallback route per i casi in cui nessuna regola corrisponda.
Ecco un semplice esempio di routing del traffico in base all'intestazione della richiesta User-Agent:
Route configuration:
Path: /example
Rule:
Condition: header User-Agent starts_with "Mozilla/5.0"
Action: route to service-A
Rule:
Condition: header User-Agent starts_with "Mozilla/4.0"
Action: route to service-B
Default: route to service-C Il sistema valuta le richieste indirizzate a / ad esempio dall'alto verso il basso. Prevale la prima regola corrispondente; tutto ciò che non soddisfa alcuna condizione viene instradato all'impostazione predefinita.
Il flusso di lavoro dalla bozza all'implementazione
Il routing delle richieste garantisce la sicurezza e aumenta la velocità degli sviluppatori seguendo un flusso di lavoro semplificato dalla bozza all'implementazione:
Bozza: quando inizi una modifica, creiamo automaticamente una bozza clonando la tua configurazione attiva.
Configura: aggiungi percorsi e definisci le regole. Ogni configurazione di route supporta fino a 10.000 percorsi, 20 regole per percorso e 5 condizioni per regola.
Anteprima: utilizza l'endpoint API Structured Diff o l'interfaccia utente per verificare esattamente quali modifiche hai apportato prima di pubblicarle.
Attivazione: implementa le modifiche sull'edge con una singola chiamata. Una convalida rigorosa garantisce che ogni percorso disponga di una regola di fallback.
Rollback: conserviamo le ultime cinque versioni attive, consentendo rollback quasi istantanei a uno stato noto e corretto.
Inizia
Il routing delle richieste è ora disponibile per tutti i piani. Accedi alla tua dashboard per creare la tua prima configurazione oppure consulta la documentazione per informazioni sulla sintassi delle regole, la corrispondenza con i caratteri jolly e le opzioni avanzate.
Stai realizzando qualcosa di interessante con questa funzionalità? Condividilo sulla comunità Fastly o scrivici all'Assistenza di Fastly.

