Làm cách nào tôi có thể lưu trữ các phản hồi HTTP từ các dịch vụ của mình trong Kubernetes?
Tôi có một dịch vụ web đơn giản trong cụm của mình và đang tự hỏi làm thế nào tôi có thể lưu vào bộ nhớ cache nội dung tĩnh (html tĩnh, hình ảnh, phông chữ, v.v.) ngoài việc dựa vào bộ nhớ cache của máy khách.
Thiết lập của tôi rất đơn giản:
âââââââââââââââââ ââ âââââââââââââââ ââââââââââââââââ âââ
â â â â â â
â ingress-nginx âââââ⺠svc ââââ⺠triển khai â
â â â â â â
âââââââââââââââââ ââ âââââââââââââââ ââââââââââââââââ âââ
Các tùy chọn tôi đã xem xét:
- CDN bên ngoài (ví dụ: Cloudflare)
- => bị loại trừ do tuân thủ các quy tắc bảo vệ dữ liệu
- CDN của nhà cung cấp đám mây (ví dụ: Cloudfront)
- => nhà cung cấp đám mây của chúng tôi không có dịch vụ như vậy
- proxy_cache trong ingress-nginx-controller & ingress
- một dịch vụ bộ nhớ đệm chuyên dụng (ví dụ: Varnish) giữa ingress-nginx và dịch vụ của tôi
- => đây có phải là một ý tưởng tốt?
- => có nhiều lựa chọn "gốc trên đám mây" hơn là định cấu hình triển khai Varnish của riêng tôi không?
- proxy bộ đệm trong sidecar (ví dụ: Varnish hoặc nginx)
- => không lý tưởng vì các nhóm bộ đệm phải mở rộng quy mô phù hợp với các nhóm ứng dụng
- bộ nhớ đệm trong ứng dụng
- => Tôi muốn loại bỏ mối lo ngại này ra khỏi ứng dụng
Tôi tò mò: làm thế nào mọi người giải quyết vấn đề này trong cụm của họ?