
Динамические квоты и лимиты: как не завалить очередь в highload
sproshchaev 55 минут назад Динамические квоты и лимиты: как не завалить очередь в highload Сложный 10 мин 1.9K Блог компании OTUS Карьера в IT-индустрии Java * DevOps * Big Data * Аналитика Всем привет, меня зовут...
Значимый прорыв формирует отрасль ИИ: sproshchaev 55 минут назад Динамические квоты и лимиты: как не завалить очередь в highload Сложный 10 мин 1. 9K Блог компании OTUS Карьера в IT-индустрии Java * DevOps * Big Data * Аналитика Всем привет, меня зовут Сергей Прощаев. Я Tech Lead и руководитель направления Java | Kotlin разработки в FinTech & E‑commerce, а ещё преподаю на курсах разработки и архитектуры в OTUS.
Сегодня разберу ситуацию, в которой оказывался почти каждый, кто строил highload‑системы: один сервис начинает сыпать событиями быстрее, чем другой успевает их переваривать. Представьте: сервис Y генерирует неограниченный поток событий — например, логи от тысяч устройств, клики пользователей или изменения в БД. А сервис X способен обработать не больше 500 RPS (или 60 RPM — для простоты возьмём RPS).
Технические детали
Требование: сохранить порядок обработки в соответствии с очерёдностью поступления (FIFO). Кандидаты на архитектурное собеседование часто сразу предлагают очередь. Мол, ставим брокер сообщений — и дело в шляпе.
Но дьявол — в деталях: какой брокер? как гарантировать порядок в распределённой системе? и что делать с overflow‑событиями, когда очередь переполнена?
1 — Образ проблемы: неограниченный поток против жёсткого лимитаЯ не раз видел, как на этом месте в стопор заходили даже сильные команды. Поэтому сегодня — полноценная диагностика. Даю условие, вы пробуете решить сами, а потом разберём правильный ход мысли, лучшие практики и одну реальную историю из боевого опыта.
Отраслевые последствия
Условие задачиДано:Сервис Y (источник) — производит события. Скорость непредсказуема, может достигать 10 000 событий/сек. Сервис X (приёмник) — потребляет события.
Его максимальная пропускная способность: 500 событий в секунду. Превышение приводит к ошибкам, троттлингу или падению. Требование: порядок обработки должен совпадать с порядком поступления.
Для всей системы или внутри логического ключа? Пока уточним — «глобальный порядок». Дополнительно: события нельзя терять.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





