1 год назад
Rate limiter спасёт ваше приложение
Итак, ваше приложение падает под нагрузкой. Нужно что-то делать, но вертикальное масштабирование дорогое, горизонтальное сложное, а кэш уже не помогает? Rate limiter спешит на помощь! Rate limiter тарифицирует количество запросов, чтобы вашим приложением не злоупотребляли боты или реальные люди. Помните тот момент, когда вы третий раз просите прислать смс у сервиса, а вам говорят, что пришлют только через какое-то время? Или вы несколько раз вводите неверно логин и пароль, а сервис в ответ...
11 месяцев назад
Rate Limiter в Go
Rate Limiter (ограничитель скорости) — это механизм контроля трафика, который ограничивает количество запросов или операций, которые пользователь или система может выполнить за определенный период времени. Принцип работы: каждому клиенту выделяется "квота" запросов (например, 100 запросов в минуту). Когда квота исчерпана, дополнительные запросы отклоняются с кодом 429 (Too Many Requests) до восстановления лимита...
9 месяцев назад
🚫 Redis как rate limiter: мифы, ошибки и реальность
Redis — это быстрый, популярный, удобный инструмент для кэширования и хранения данных в памяти. Но когда его пытаются приспособить для ограничения частоты запросов (rate limiting), он внезапно превращается в источник неожиданных багов, гонок и утечек памяти. На первый взгляд всё просто: пара команд SET + INCR или хитрое именование ключей по времени, и вот у нас уже готов «идеальный» ограничитель. Но под капотом — хаос. Из статьи Андрея Миллера следует, что любые «простые» схемы в Redis быстро ломаются...