ฉันจะแคชการตอบสนอง HTTP จากบริการของฉันใน Kubernetes ได้อย่างไร
ฉันมีบริการเว็บอย่างง่ายในคลัสเตอร์ของฉัน และกำลังสงสัยว่าฉันจะแคชเนื้อหาแบบสแตติกได้อย่างไร (html แบบสแตติก รูปภาพ แบบอักษร ฯลฯ) นอกเหนือจากการพึ่งพาแคชไคลเอ็นต์
การตั้งค่าของฉันง่ายมาก:
âââââââââââââââââ ââ âââââââââââââââ ââââââââââââââââ âââ
â â â â â â
â ingress-nginx âââââ⺠svc ââââ⺠การปรับใช้ â
â â â â â â
âââââââââââââââââ ââ âââââââââââââââ ââââââââââââââââ âââ
ตัวเลือกที่ฉันพิจารณาแล้ว:
- CDN ภายนอก (เช่น Cloudflare)
- => ตัดออกเนื่องจากกฎการปฏิบัติตามการคุ้มครองข้อมูล
- CDN ของผู้ให้บริการคลาวด์ (เช่น Cloudfront)
- => ผู้ให้บริการคลาวด์ของเราไม่มีบริการดังกล่าว
- proxy_cache ใน ingress-nginx-controller & ingress
- บริการแคชเฉพาะ (เช่น วานิช) ระหว่าง ingress-nginx และบริการของฉัน
- => นี่เป็นความคิดที่ดีหรือไม่?
- => มีตัวเลือก "แบบเนทีฟบนคลาวด์" มากกว่าการกำหนดค่าการปรับใช้วานิชของฉันเองหรือไม่
- พร็อกซีแคชใน sidecar (เช่น วานิชหรือ nginx)
- => ไม่เหมาะเพราะแคชพ็อดต้องปรับขนาดให้สอดคล้องกับพ็อดแอปพลิเคชัน
- แคชในแอปพลิเคชัน
- => ฉันต้องการเก็บข้อกังวลนี้ออกจากแอปพลิเคชัน
ฉันสงสัยว่าผู้คนแก้ปัญหานี้อย่างไรในกลุ่มของพวกเขา