Скачать 

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

  • Дата начала
Организатор: Ля-ля-фа Ля-ля-фа
Ссылки для скачивания
Ля-ля-фа
Ля-ля-фа
ТОП организатор
Сообщения
Монеты
0.0
Оплачено
55
Купоны
0
Кешбэк
0
Баллы
0
  • @Skladchiki
  • #1

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

Ссылка на картинку
изображение
Этот воркшоп для вас, если вы:
  • Хотите быть готовым к горизонтальному масштабированию и сложным архитектурным вызовам.
  • Стремитесь эффективно использовать ресурсы и обеспечить стабильную работу системы под нагрузкой
  • Сталкивались с проблемами производительности и стремитесь лучше понимать, как их предсказывать и устранять
  • Хотите быть готовым к нетривиальным и неочевидным проблемам, возникающим при масштабировании
День 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
  • 20+ лет опыта в IT
  • Более 10 лет в области web, ruby/rails, асинхронных систем
  • Эксперт по распределённым системам и devops
  • ex-Core Linux Developer
  • Помогает командам создавать надёжные и масштабируемые системы
  • В настоящее время работает в RNDSOFT - техлид, архитектор, devops и еще много всего интересного
Показать больше
 
Зарегистрируйтесь , чтобы посмотреть авторский контент.
Поиск по тегу:
Теги
thinknetica pro масштабирование rails-приложений юрий самойленко

Зарегистрируйтесь или войдите, чтобы обсуждать и скачивать материалы!

Зарегистрироваться

Создайте учетную запись. Это быстро!

Авторизоваться

Вы уже зарегистрированы? Войдите.

Сверху