Параллелизм и многопоточность в Ruby и Rails
О чём курс
Производительность вашего Ruby-приложения падает при росте числа пользователей, а фоновые задачи вроде генерации отчетов занимают слишком много времени — этот воркшоп предлагает решение через управление многопоточностью. Вы перейдете от медленной последовательной обработки к параллельным вычислениям, что критически важно для высоконагруженных систем.
Внутри курса разбираются:
- Преодоление ограничений GIL (Global Interpreter Lock) в Ruby для реального ускорения вычислений.
- Применение Thread и Fiber для параллельной обработки данных и оптимизации конкурентных операций.
- Настройка Sidekiq для масштабируемых фоновых задач с обработкой ошибок, ретраями и мониторингом.
- Устранение узких мест при работе с базами данных: борьба с race conditions, deadlock и блокировками при одновременном доступе к данным.
Материал предназначен для Ruby и Rails разработчиков, которые хотят научиться выстраивать устойчивые к высоким нагрузкам архитектуры без потери целостности данных.
Программа обучения
- День 1. Основы параллельных вычислений в Ruby
- Введение в многопоточность и параллелизм: различия и преимущества.
- Как находить узкие места производительности в Ruby-приложении.
- Использование потоков (Thread) для параллельных вычислений: создание, управление, проблемы синхронизации.
- Работа с легковесными процессами: введение в Fiber и его применение.
- Практические примеры параллельной обработки: простые задачи и многопоточные решения.
- Проблемы конкурентности: race-conditions, deadlock, и как с ними бороться.
- Ограничения GIL (Global Interpreter Lock) в Ruby и как его обойти.
- День 2. Параллельные вычисления в Rails
- Управление зависимостями и очередь задач в параллельных вычислениях. Обеспечение уникальности выполнения задач, продолжение обработки очереди после ошибки.
- Советы по оптимизации фоновых процессов: минимизация задержек и контроль параллельных операций, логгирование, профилирование.
- Метрики производительности для фоновых задач: мониторинг и оптимизация.
- Подходы к обработке ошибок и ретрай задач в многопоточных системах.
- Race condition, deadlock, retry failures.
- Потеря данных при неожиданном завершении.
- Memory bloat, database contention.
- День 3. Оптимизация работы с базами данных
- Параллельная обработка больших объемов данных.
- Оптимизация SQL-запросов в условиях многопоточности.
- Работа с блокировками и решение конфликтов данных (race-condition).
Отзывов пока нет. Будьте первым!
Это не розничная цена — это ваш взнос в складчину. Мы собираем группу участников и делим между ними стоимость официального доступа: каждый платит только свою долю, а получает весь материал. Чем больше участников, тем меньше взнос. После того как сумма собрана, мы оформляем официальный доступ и раздаём материалы всем, кто участвовал.
Нажмите кнопку «Получить доступ» на этой странице и следуйте инструкциям. Вас переведёт на форму оплаты — доступны все современные способы (карта, СБП, электронные кошельки). После оплаты на почту придёт письмо с доступом: материалы выдаются в разделе «Мои складчины» на нашем основном сайте skladchik.org. Учтите: в России skladchik.org открывается только через ускоритель интернета (VPN) — настроить его можно за пару минут по инструкции на skladchik-kak-voiti.online.
Да, конечно. Все материалы — видео, PDF, дополнительные файлы — можно скачать к себе на компьютер и пользоваться ими сколько угодно, без ограничений по времени. Ссылки остаются активными в вашей библиотеке «Мои складчины».