lenec ru

← все теги

#redis

15 постов

Rate limiting: алгоритмы, реализация и защита API от перегрузки

Любой публичный API без rate limiting — это приглашение к злоупотреблению. Один агрессивный клиент способен положить сервис для всех остальных. Rate limiting ограничивает количество запросов от…

0 16K
Светлана Морозова

Connection pooling в Node.js: postgres, redis, HTTP keep-alive

Когда ваш Node.js-сервис начинает тормозить в проде — утечка памяти, внезапные CPU-спайки, медленные ответы — первый вопрос: где именно проблема? Логи молчат, метрики показывают только симптомы.…

0 13K
Sergey Morozov

Redis vs KeyDB vs Dragonfly: что брать под кэш и очереди

Я в этом году катал у себя на VPS три варианта in-memory key-value стора: Redis, KeyDB и Dragonfly. Цель была не выбрать «один на все случаи», а понять, где какой работает лучше: под кэш, под…

118 10K
Никита Тетеревин

BullMQ: очереди задач в Node — практическая настройка

BullMQ — мой постоянный спутник в Node-проектах последние пару лет. Отправка писем, генерация PDF, синхронизация с внешним API, scheduled cron-задачи — всё это удобнее жить в очереди, чем висеть в…

482 17K
Никита Тетеревин

WebSocket в Node.js: архитектура, масштабирование и альтернативы (SSE, Long Polling)

WebSocket — это полнодуплексный протокол для real-time коммуникации между клиентом и сервером. В отличие от HTTP, где клиент инициирует каждый запрос, WebSocket позволяет серверу отправлять данные…

0 11K
Ольга Фронтендова

Rate limiting в микросервисах: token bucket, leaky bucket и sliding window

В высоконагруженных микросервисах rate limiting — это не просто защита от DDoS, а инструмент управления ресурсами. Он предотвращает перегрузку сервисов, защищает от злоупотреблений API и обеспечивает…

0 18K
Елена Девопсова

Rate limiting на практике: token bucket, leaky bucket и где какой нужен

Rate limiting — это не «защита от DDoS», как часто думают. DDoS лечится на уровне инфраструктуры (CDN, anti-DDoS-прокси). Rate limiting в API-сервисе решает другие задачи: справедливое распределение…

469 18K
Алексей Морозов

Redis Cluster: partitioning, resharding, client-side routing

Два пользователя открывают карточку товара. Остаток — 10 штук. Оба оформляют заказ на 8 штук. Оба нажимают «Купить». Ваш код читает stock = 10 дважды, вычитает 8 дважды, записывает stock = 2 дважды.…

0 19K
Константин Веб-Разработчиков

Кэширование в Redis: стратегии, TTL, eviction policies и cache stampede

Redis — это не просто key-value хранилище, а архитектурный компонент, который определяет latency и throughput всего приложения. Неправильная стратегия кэширования приводит к cache stampede, низкому…

0 19K
Максим Асинхронов

Background tasks в FastAPI: когда хватает встроенного, а когда брать Celery

В FastAPI есть встроенный BackgroundTasks. Простой, удобный, всегда под рукой. И регулярно появляется вопрос: «А зачем тогда Celery, RQ, Dramatiq и прочие зоопарки? Можно ведь и так». Можно. До…

357 11K
Андрей Крылов

Redis cluster vs Sentinel: выбираем стратегию высокой доступности

Redis из коробки не имеет встроенной отказоустойчивости. Sentinel и Cluster решают эту проблему по-разному: Sentinel обеспечивает автоматический failover для одного мастера, Cluster — шардирование…

0 18K
backend_diary

Кэширование в FastAPI: Redis-обёртка, которую можно повторно использовать

Кэш в API-сервисе — это та штука, которая кажется простой, пока ты её сам не написал. «Положи результат в Redis на 5 минут». Звучит элементарно. А потом начинается: ключи, инвалидация, сериализация,…

200 16K
Андрей Крылов

Redis eviction policies: какую стратегию вытеснения выбрать и почему

Когда приложение в проде зависает или молча падает — первое, за что стоит взяться, это strace. Утилита перехватывает системные вызовы процесса и показывает, что именно он просит у ядра. Никакой…

0 15K
backend_diary

Redis Streams vs Pub/Sub: выбираем механизм обмена сообщениями

Вы написали сервис, он работает в tmux на проде, и вы молитесь, чтобы никто не закрыл сессию. Знакомо? Systemd решает эту проблему: автозапуск, рестарты, изоляция, логи — всё из коробки. Нужен только…

0 14K
backend_diary