6

Come abilitare la memorizzazione nella cache corretta per un endpoint Gateway API?La cache del gateway API non funziona

Ho abilitato la cache API (vedere screenshot), ma quando richiedo l'URL, il tempo di risposta è rimasto lo stesso di prima.

Ho provato consentendo l'opzione di cache API:

Cache option

E configurata l'intestazione Cache-Control:

Cache-Control header

E caching inoltre consentito da un parametro di ricerca:

Query param cache

+0

Qual è il backend di integrazione? Avete la possibilità di consultare i registri per vedere se il vostro back-end è stato chiamato o meno quando dovrebbe verificarsi il caching? –

+0

Il backend è una Lambda. – katspaugh

risposta

7

Il caching nel gateway API non è implementato tramite CloudFront. API Gateway crea una distribuzione CloudFront per tuo conto quando crei la tua API, ma la memorizzazione nella cache viene effettivamente implementata tramite l'uso di un'infrastruttura di caching dedicata. Anche con la cache abilitata continuerai a vedere le intestazioni di "cache miss" da CloudFront.

+0

Hey Bob, grazie per la correzione. Quindi stai dicendo che 'X-Cache: Miss from cloudfront' non è un indicatore di cache che non funziona? – katspaugh

+0

@katspaugh Sì, è esattamente quello che sto dicendo. –

+0

Il problema è che anche il tempo di risposta sembra essere lo stesso con o senza cache API abilitata. Credo di dover riformulare la domanda. – katspaugh

7

Ho trovato che il forum AWS ha fornito ulteriori informazioni, nel caso in cui aiuti qualcun altro.

https://forums.aws.amazon.com/thread.jspa?threadID=195290#646425

gateway API si integra con CloudFront dietro le quinte. Noi creiamo automaticamente una distribuzione CloudFront globale per le tue API nell'ordine per ridurre la latenza percepita dagli utenti finali. Tuttavia, la cache del gateway API viene gestita nell'area in cui viene eseguito il gateway API e viene distribuita l'API . Le richieste vengono accettate da CloudFront PoP e quindi da inviate al gateway API nella relativa regione di origine, ovvero laddove il gateway API verifica la cache e restituisce una risposta memorizzata nella cache, se possibile. Al momento il gateway API non utilizza la cache di CloudFront sul bordo.

Problemi correlati