Cum pot stoca în cache răspunsurile HTTP de la serviciile mele în Kubernetes?
Am un serviciu web simplu în clusterul meu și mă întreb cum aș putea stoca în cache activele statice (html static, imagini, fonturi etc.) dincolo de a mă baza pe cache-urile clientului.
Configurarea mea este foarte simplă:
âââââââââââââââ†ââ ââââââââââââââââââââââ ½ âââ
â â â â â â
– ingress-nginx – implementare –
â â â â â â
âââââââââââââââ†ââ ââââââââââââ↽ âââ
Opțiuni pe care le-am luat în considerare:
- CDN extern (de exemplu, Cloudflare)
- => exclus din cauza regulilor de conformitate cu protecția datelor
- CDN-ul furnizorului de cloud (de exemplu, Cloudfront)
- => furnizorul nostru de cloud nu are un astfel de serviciu
- proxy_cache în ingress-nginx-controller și ingress
- un serviciu de cache dedicat (de exemplu, Varnish) între ingress-nginx și serviciul meu
- => este aceasta o idee bună?
- => există mai multe opțiuni „native în cloud” decât configurarea propriei implementări Varnish?
- un proxy de stocare în cache într-un sidecar (de exemplu, Varnish sau nginx)
- => nu este ideal, deoarece podurile de cache trebuie să se scaleze în conformitate cu podurile de aplicație
- stocarea în cache în aplicație
- => Aș prefera să păstrez această problemă în afara aplicației
Sunt curios: cum rezolvă oamenii această problemă în grupurile lor?