Що нового?

Придбаний Масштабирование Rails-приложений [Thinknetica] [Юрий Самойленко]

Інформація про покупку
Тип покупки: Складчина
Ціна: 3267 ГРН
Учасників: 0 з 9
Організатор: Відсутній
Статус: Набір учасників
Внесок: 377.5 ГРН
0%
Основний список
Резервний список

Gadzhi

Модератор
Масштабирование Rails-приложений [Thinknetica] [Юрий Самойленко]



Этот воркшоп для вас, если вы:
  • Хотите быть готовым к горизонтальному масштабированию и сложным архитектурным вызовам.
  • Стремитесь эффективно использовать ресурсы и обеспечить стабильную работу системы под нагрузкой
  • Сталкивались с проблемами производительности и стремитесь лучше понимать, как их предсказывать и устранять
  • Хотите быть готовым к нетривиальным и неочевидным проблемам, возникающим при масштабировании
День 1. Стратегии масштабирования Rails-приложений
Изучим общие подходы к масштабированию, параллельной обработке данных, асинхронности и рассмотрим влияние на производительность и потребление ресурсов.

Результат
  • Сможете выбрать конфигурацию web-сервера, подходящую именно под вашу нагрузку
  • Определитесь со стратегией масштабирования: потоки, процессы или файберы
  • Оптимизируете потребление памяти при масштабировании
Содержание
  • Проблемы и подходы к масштабированию
  • Введение в процессы/потоки: IO-bound и CPU-bound нагрузки
  • Архитектура веб-серверов Puma (Multi-threaded, Multi-process, Standalone), Passenger Master Process
  • Асинхронная обработка запросов: throw :async, Rack Socket Hijacking
  • Потребление памяти: Copy On Write, Garbage collection, фрагментация памяти
День 2. Проблемы при масштабировании Ruby-приложений
Разберёмся с проблемами общих данных при масштабировании и вариантами их решения. На примерах рассмотрим техники синхронизации данных и обеспечения одновременного доступа. Научимся настраивать мониторинг системы для повышения Observability

Результат
  • Научитесь заранее решать типовые проблемы и проблемы с общим доступом к данным
  • Сможете организовать мониторинг и всегда быть в курсе происходящего в системе
  • Поймете, как устроено взаимодействие экземпляров приложения между собой
Содержание
  • Кеширование: KeyDd/Redis
  • Синхронизация: Leader Election и Distributed Locking, Consul/Redlock
  • Работа с данными: Posix-File, S3/MinOO
  • Мониторинг: Victoria/Prometheus, dynamic targets
  • Service Discovery: consul, traefik
День 3. Разделение приложений на компоненты и налаживание взаимодействия
Разберёмся, из каких функциональных частей состоит Rails-приложение, как они взаимодействуют и масштабируются, какое место занимают в выполнении бизнес-функций.

Результат
  • Сможете разделять приложение на части с точки зрения бизнес-функций
  • Научитесь выделять и масштабировать отдельно только нагруженные компоненты
  • Повысите качество обслуживания приложения на протяжении его жизненного цикла
Содержание
  • Проблемы и выгоды единой кодовой базы
  • HTTP-компонент. Rails
  • JOBS-компонент. Solid Queue, Sidekiq, Delayed Job
  • Cron/Scheduler-компонент, Rufus Scheduler
  • Вспомогательные компоненты: AMQP-listener, KAFKA-listener
  • Мониторинг компонентов приложений
  • Service Discovery компонентов приложений
Этот воркшоп поможет:
Настроить сервер под реальную нагрузку
  • Выберете подходящую конфигурацию веб-сервера
  • Определитесь со стратегией масштабирования
  • Сократите потребление памяти.
Избежать типовых проблем масштабирования в продакшене
  • Научитесь организовывать доступ к данным
  • Научитесь выстраивать мониторинг
  • Научитесь понимать взаимодействие экземпляров приложения.
Масштабировать приложение без лишних затрат
  • Разделите приложение на части по бизнес-функциям
  • Оптимизируете нагруженные компоненты.
  • Обеспечите стабильность и высокую доступность
  • Улучшите поддержку приложения на всех этапах жизненного цикла
  • Добьётесь надежной и предсказуемой работы приложения.
Автор воркшопа
Юрий Самойленко. Архитектор и Техлид в RNDSOFT

Цена 5900 руб
https://thinknetica.com/pro/rails_scaling_workshop
 
Угорі