TGViewer
DevOps для ДевоПсов DevOps для ДевоПсов @devo_pes · 3.22K subscribers
Post #7947 461
Инвалидация кеша по URL ломается на первом же обновлении товара, спасают теги

Короткий TTL кладёт базу наплывом запросов, длинный отдаёт устаревшие цены. Событийная очистка снимает выбор, но PURGE /api/products/linen-shirt заставляет помнить все адреса, которые задело одно обновление: карточку товара, листинг категории, страницу бренда. Забыли один — там висит старая цена.

Вместо адресов бэкенд проставляет в ответ теги: заголовок Surrogate-Key у Fastly, Cache-Tag у Cloudflare, значения вида product:1029, collection:summer. Прокси держит обратный индекс «тег → ответы в кеше» и по запросу на product:1029 выбрасывает их во всех точках присутствия.

Что сделать: дёргать очистку из вебхука после коммита в БД, а не до; добавить ретраи с идемпотентным ключом, иначе потерянная доставка держит устаревший ответ до конца TTL; сам TTL оставить длинным как страховку. Схема — в статье на dev.to.
  • ⚡ 2
More from @devo_pes
  1. Sep 20, 2026ACME отработал с кодом 0, а пользователи всё ещё получают старый сертификат Cron обновил с…
  2. Sep 20, 2026Зелёный CI не ловит деградацию под трафиком, зато её ловит канарейка с автооткатом Функцио…
  3. Sep 20, 2026Что проверить перед запуском приложения в Kubernetes Pod может запуститься, а обновление и…
  4. Sep 19, 2026Как выбрать инструменты для анализа производительности Linux При инциденте на Linux-хосте…
  5. Sep 19, 2026OpenTelemetry бесплатен ровно до дня, когда вы начали его эксплуатировать Стандарт снял пр…
  6. Sep 19, 2026Как измерить и сократить toil в эксплуатации Google SRE определяет toil как поток повторяю…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →