[Перевод] 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, а также преподаю на курсах разработки и архитектуры...

Хабр

Kotlin Корутины + БД connection pool. Как не получить каскадное падение

Почему Dispatchers.IO + Hikari + чуть-чуть лагов БД = каскадная деградация всего сервиса, и как bulkhead-паттерн в одну строку это лечит.

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

#котлин #корутины #highload #kotlin #coroutines

Kotlin Корутины + БД connection pool. Как не получить каскадное падение

Вспомним, что такое IO-dispatcher в Kotlin корутинах. IO-dispatcher — это планировщик, который использует пул потоков, оптимизированный под блокирующие IO операции. Верхний лимит по размеру — max(64,...

Хабр

[Перевод] Почему ваш софт тормозит: принципы Mechanical Sympathy для разработчиков

Железо давно научилось работать быстрее, чем большая часть прикладного софта успевает это заметить. Пока процессоры, кэши и ускорители становятся всё умнее, многие системы продолжают терять время на случайном доступе к памяти, лишней синхронизации и архитектурных решениях, которые плохо сочетаются с устройством машины. Эта статья — о mechanical sympathy, подходе, который помогает смотреть на производительность как на следствие понимания базовых ограничений и привычек железа: от строк кэша и ложного разделения до принципа одного писателя и естественной пакетной обработки. Для тех, кто строит или эксплуатирует highload‑системы, это хороший способ заново посмотреть на причины тормозов там, где код вроде бы уже давно «нормально работает». К сути статьи

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

#highload #инфраструктура_highload #Mechanical_Sympathy #производительность_ПО #многопоточность #оптимизация_highload

Почему ваш софт тормозит: принципы Mechanical Sympathy для разработчиков

Материал подготовлен в рамках нового потока курса «Инфраструктура высоконагруженных систем». Современное оборудование работает поразительно быстро, но программное обеспечение часто не умеет этим...

Хабр

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

Uber — это хороший пример System Design задачи, где сочетаются geo-search, real-time уведомления, многошаговый workflow и строгие требования к согласованности. В статье разберём, как проектировать такую систему, чтобы она быстро находила водителей поблизости, гарантировала назначение водителю только одной поездки и выдерживала пиковую нагрузку.

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

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

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

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

Хабр

Потоковая обработка данных на С

Привет, Хабр! Кратко о том что такое потоковая обработка данных и в чем её отличие от пакетной. Пакет данных, это часть информации поступающая в систему которая содержит законченный или не полный фрагмент данных. Большинство механизмов цифровой передачи информации в современных системах построены на пакетной передаче. Отличие потоковых и пакетных систем обработки в том...

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

#C #Linux #system_design #highload

Потоковая обработка данных на С

Привет, Хабр! Кратко о том что такое потоковая обработка данных и в чем её отличие от пакетной. Пакет данных, это часть информации поступающая в систему которая содержит законченный или не полный...

Хабр