Negative caching ограничивает шторм отсутствующих ключей
Целевой дизайн: повторные запросы несуществующего алиаса кэшируют кратковременный отрицательный результат, чтобы атакующие или «горячие» мёртвые ссылки не обходили кэш в обход БД.
Кейс сервиса
Сервис редиректов, спроектированный вокруг горячего пути: хранение в PostgreSQL, Redis cache-aside с ограниченным фолбэком, per-instance singleflight и воспроизводимые бенчмарки задержек.
ЗапланированРантайм бэкенда: Нет развёрнутого рантайма — стадия спецификацииИсточник данных демо: Mock
Redis cache-aside, singleflight, горячий путь, ограниченная аналитика.
Бэкенд-реализации пока нет. Демо-модуль отображает планируемые потоки на детерминированных моках; содержимое ниже — предлагаемая граница, а не работающая система.
Бэкенд-реализации пока нет: демо отображает детерминированные MSW-сценарии управления ссылками и аналитики.
docs/backend-specs/04_url_shortener.mdzolotoy-dev-frontend (this repository)проверено 2026-09-17Горячий путь редиректа: отдача из Redis cache-aside, фолбэк на PostgreSQL с ограниченной конкурентностью и ответы 404/410 по состоянию ссылки.
docs/backend-specs/04_url_shortener.mdzolotoy-dev-frontend (this repository)проверено 2026-09-17Инвалидация кэша при изменении ссылки, negative caching для отсутствующих ключей и ограничения TTL, ограничивающие устаревание после гонок инвалидации.
docs/backend-specs/04_url_shortener.mdzolotoy-dev-frontend (this repository)проверено 2026-09-17Per-instance singleflight сворачивает конкурентные промахи по одному ключу в одно чтение БД; между инстансами сервиса он не координирует.
docs/backend-specs/04_url_shortener.mdzolotoy-dev-frontend (this repository)проверено 2026-09-17Воспроизводимые бенчмарки задержек/пропускной способности с опубликованной методологией — измерение, а не маркетинговая цифра.
docs/backend-specs/04_url_shortener.mdzolotoy-dev-frontend (this repository)проверено 2026-09-17docs/roadmap.mdzolotoy-dev-backende36b1025проверено 2026-09-17Целевой дизайн: повторные запросы несуществующего алиаса кэшируют кратковременный отрицательный результат, чтобы атакующие или «горячие» мёртвые ссылки не обходили кэш в обход БД.
Целевой дизайн: слияние in-flight запросов убирает дублирующиеся промахи внутри инстанса. Межинстансовая координация добавила бы распределённый лок на горячий путь — отклонено; эту роль выполняет ограниченная конкурентность фолбэка.
Целевой дизайн: счётчики кликов инкрементируются асинхронно и при сбоях могут терять данные; корректность редиректа никогда не зависит от аналитики.
docs/backend-specs/04_url_shortener.mdzolotoy-dev-frontend (this repository)проверено 2026-09-17docs/roadmap.mdzolotoy-dev-backende36b1025проверено 2026-09-17Горячий путь редиректа через БД, фолбэк на Redis, per-instance singleflight, воспроизводимые измерения и ограниченная аналитика.
Критерии приёмки (план):