Динамические квоты и лимиты: как не завалить очередь в highload

Представьте: ваш сервис Y генерирует 10 000 событий в секунду, а сервис X может проглотить только 500. И при этом нельзя потерять ни одного события, а порядок обработки обязан быть строгим. Очередь? Конечно. Но какую? И что делать, когда она переполнится? В статье — разбираем реальную архитектурную задачу с разбором типовых ошибок, двух подходов к порядку (strict FIFO и per‑key ordering), нюансами DLQ, backpressure, идемпотентностью и скрытыми проблемами типа head‑of‑line blocking. Разобрать задачу

https://habr.com/ru/companies/otus/articles/1031282/

#highload #очереди_сообщений #kafka #backpressure #динамические_квоты #системный_анализ #архитектура_highload

Динамические квоты и лимиты: как не завалить очередь в highload

Всем привет, меня зовут  Сергей Прощаев . Я Tech Lead и руководитель направления Java | Kotlin разработки в FinTech & E‑commerce, а ещё преподаю на курсах разработки и архитектуры в OTUS....

Хабр

Реальный time series агрегатор: как обрабатывать 10 событий/сек на графе из 300k узлов

Представьте, что у вас есть многослойный пайплайн обработки данных. Ширина слоя — 5000 узлов. Количество слоёв — 60. Общее число узлов — 300 000. Каждую секунду приходит 10 новых событий (изменений на входе). Наивный подход — пересчитать всё с нуля — будет перебирать все 300 000 узлов на каждое обновление. При 10 обновлениях в секунду это 3 млн вычислений узлов в секунду. А если ширина слоя 100 000 и слоёв 100? Получаем 10 млн узлов на пересчёт. Компьютер не справляется.

https://habr.com/ru/articles/1040918/

#NET #C# #Highload #аналитика #стриминг

Реальный time series агрегатор: как обрабатывать 10 событий/сек на графе из 300k узлов

Представьте, что у вас есть многослойный пайплайн обработки данных. Слой 0 — сырые события: цена тика, действие пользователя, показание датчика. Слой 1 — агрегаты по инструментам: дельта, гамма, скор....

Хабр

Архитектура AI-сервисов: почему монолит убивает latency и GPU

Ваш AI‑чат или автокомплит тормозит при 50 запросах в секунду? Монолит убивает GPU и латенси? В этом туториале — реальная архитектура low‑latency инференса на high‑load: почему изолированный inference‑bundle вместо монолита, как выбрать между vLLM и SGLang без маркетинга, зачем нужны continuous batching и admission control. Читать разбор

https://habr.com/ru/companies/otus/articles/1031286/

#AIсервисы #LLM #инференс #highload #latency #GPU #vLLM #SGLang #continuous_batching #admission_control

Архитектура AI-сервисов: почему монолит убивает latency и GPU

Всем привет, меня зовут Сергей Прощаев, и в этой статье я расскажу про реальную архитектуру ИИ-сервисов, которые выдерживают high-load и отвечают за десятки миллисекунд. Я Tech Lead и руководитель...

Хабр

Пул объектов: паттерн эффективного управления памятью

Современные аллокаторы общего назначения умеют оптимизировать выделение памяти для небольших объектов и не только, но зачастую они не дают строгих гарантий отсутствия системных вызовов при очередной аллокации или освобождении памяти. Для высоконагруженных систем, чтобы эффективно выделять и освобождать память под объекты без лишних вызовов malloc/free и потенциальных системных вызовов, используют паттерн пулов объектов.

https://habr.com/ru/articles/1035874/

#highload #аллокатор #аллокация_памяти

Пул объектов: паттерн эффективного управления памятью

Введение Современные аллокаторы общего назначения умеют оптимизировать выделение памяти для небольших объектов и не только, но зачастую они не дают строгих гарантий отсутствия системных вызовов при...

Хабр

[Перевод] System Design: проектируем Dropbox, сервис для хранения и обмена файлами

Самая интересная часть в проектировании Dropbox — не хранение метаданных, а работа с самими файлами: как загружать большие объекты без перегрузки своих серверов, как возобновлять загрузку после обрыва и как быстро синхронизировать изменения с другими устройствами. В статье подробно разберём, как всё это складывается в работающую архитектуру облачного хранилища.

https://habr.com/ru/articles/1032184/

#system_design #backend #highload #подготовка_к_собеседованию #распределенные_системы #архитектура #проектирование_систем #системный_дизайн #паттерны_проектирования #собеседования_задачи

System Design: проектируем Dropbox, сервис для хранения и обмена файлами

Видеоразбор этой задачи на русском языке можно посмотреть здесь - https://www.youtube.com/watch?v=Zw5A33rTlL0 Проектирование Dropbox Постановка задачи ☁️ Что такое Dropbox? Dropbox - это облачный...

Хабр

Девять испытаний роста нагрузки: от стартапа к приложению для 25 миллионов пользователей

Эта статья совсем не технический анализ, а увлекательный рассказ о том, как маленький, но очень перспективный стартап стал топовым приложением, а также о том, какие сложности встали на пути команды разработки, DevOps и тестирования X5 Tech. Мы сразу заложили основные принципы нагруженного приложения: микросервисы как основа всего, полное покрытие метриками, асинхронность, кэширование на максималках. Какую-то функциональность разрабатывали сами, где-то задействовали сервисы других техкоманд из X5, а где-то и сторонние решения с рынка. Весь код писали на Python, использовали FastAPI и другие популярные на тот момент фреймворки и технологии.

https://habr.com/ru/companies/X5Tech/articles/1029410/

#highload #микросервисы #latency #postgresql #elasticsearch #kubernetes #hpa #балансировка_нагрузки #нагрузочное_тестирование #observability

Девять испытаний роста нагрузки: от стартапа к приложению для 25 миллионов пользователей

Эта статья совсем не технический анализ, а увлекательный рассказ о том, как маленький, но очень перспективный стартап стал топовым приложением, а также о том, какие сложности встали на пути команды...

Хабр

[Перевод] System Design: проектируем сервис быстрых знакомств

Tinder — это хороший пример system design задачи, где нужно быстро формировать ленту кандидатов, учитывать геолокацию и пользовательские предпочтения, а также надёжно обрабатывать свайпы и совпадения. В статье разберём архитектуру такого сервиса и узкие места, которые появляются при росте нагрузки.

https://habr.com/ru/articles/1026316/

#system_design #backend #highload #подготовка_к_собеседованию #распределенные_системы #архитектура #проектирование_систем #системный_дизайн #паттерн_проектирования #собеседования_задачи

System Design: проектируем сервис быстрых знакомств

Видеоразбор этой задачи на русском языке можно посмотреть здесь - https://www.youtube.com/watch?v=U_qR7HFZIbE Проектирование Tinder Постановка задачи ❤️ Что такое Tinder? Tinder - это мобильное...

Хабр

От MVP на Whisper до собственной ASR: как мы построили платформу субтитров для RUTUBE

Автоматическое создание субтитров для пользовательского контента может выглядеть довольно простой задачей: берем готовую ASR‑модель, распознаем аудио из видео и сохраняем результат. Именно таким и был наш первый MVP в RUTUBE — сервис на базе Whisper, который позволил быстро проверить гипотезу и запустить субтитры в production. Но очень быстро стало понятно, что между «распознать речь» и «сделать субтитры для всего контента» лежит огромный пласт работы. Миллионы новых видео, ролики длиной до 24 часов, неизвестный язык, шумный пользовательский контент, требования к качеству текста и жесткие ограничения по скорости обработки — всё это превратило задачу из простого ASR в полноценную платформу с микросервисной архитектурой и собственной системой распознавания речи. В статье расскажу, почему Whisper не подошел для production, как мы перестроили всю архитектуру и за счет чего смогли выйти на производительность около 1200 видео в час на один ASR.

https://habr.com/ru/companies/habr_rutube/articles/1028476/

#asr #whisper #распознавание_речи #highload #субтитры #production_ml #machine_learning

От MVP на Whisper до собственной ASR: как мы построили платформу субтитров для RUTUBE

Автоматическое создание субтитров для пользовательского контента может выглядеть довольно простой задачей: берем готовую ASR‑модель, распознаем аудио из видео и сохраняем результат. Именно...

Хабр

Fast Atomic Flow: PHP 8.4, Swoole, NATS, Go и Закон Табуна

Как переезд в деревню, рефакторинг жизни и парное программирование с DeepSeek привели к созданию демо на Swoole, NATS и Go. Без купюр и без пони. 🐎 В галоп!

https://habr.com/ru/articles/1028346/

#php #swoole #nats #go #highload #websocket #semaphores #async #open_source #kbl

Fast Atomic Flow: PHP 8.4, Swoole, NATS, Go и Закон Табуна

После 13 лет в абьюзивных отношениях я провел внеплановый аудит собственной жизни и обнаружил, что всё это время система работала в искаженной реальности. Я сорвал джекпот наоборот: долгое время...

Хабр

Нагрузочное тестирование с Apache JMeter: Best Practices

Apache JMeter — не просто инструмент. В этой статье разберем, как получать от него реальную пользу. Вы узнаете, почему 80% отчётов о нагрузке бесполезны, как настроить распределённый тест и анализировать не среднее значение, а процентили. Полный гайд от первого HTTPS-скрипта до информативного HTML-отчёта и Best Practices.

https://habr.com/ru/companies/otus/articles/1022194/

#java #Нагрузочное_тестирование #Apache_JMeter #Тестирование_производительности #Highload #devops #Best_Practices #Performance_Testing

Нагрузочное тестирование с Apache JMeter: Best Practices

Введение Всем привет, меня зовут Сергей Прощаев.  Я Tech Lead и руководитель направления Java | Kotlin разработки в FinTech, а также преподаю на курсах разработки и архитектуры...

Хабр