
Василиска
Организатор
- Сообщения
- Монеты
- 0.0
- Оплачено
- 44
- Купоны
- 0
- Кешбэк
- 0
- Баллы
- 0
- @Skladchiki
- #1
Складчина: [Thinknetica PRO] Масштабирование Rails-приложений (Юрий Самойленко)
- Ссылка на картинку
-
Этот воркшоп для вас, если вы:
Изучим общие подходы к масштабированию, параллельной обработке данных, асинхронности и рассмотрим влияние на производительность и потребление ресурсов.
Результат
Разберёмся с проблемами общих данных при масштабировании и вариантами их решения. На примерах рассмотрим техники синхронизации данных и обеспечения одновременного доступа. Научимся настраивать мониторинг системы для повышения Observability
Результат
Разберёмся, из каких функциональных частей состоит Rails-приложение, как они взаимодействуют и масштабируются, какое место занимают в выполнении бизнес-функций.
Результат
Архитекторв и Техлид в RNDSOFT
- Хотите быть готовым к горизонтальному масштабированию и сложным архитектурным вызовам.
- Стремитесь эффективно использовать ресурсы и обеспечить стабильную работу системы под нагрузкой
- Сталкивались с проблемами производительности и стремитесь лучше понимать, как их предсказывать и устранять
- Хотите быть готовым к нетривиальным и неочевидным проблемам, возникающим при масштабировании
Изучим общие подходы к масштабированию, параллельной обработке данных, асинхронности и рассмотрим влияние на производительность и потребление ресурсов.
Результат
- Сможете выбрать конфигурацию web-сервера, подходящую именно под вашу нагрузку
- Определитесь со стратегией масштабирования: потоки, процессы или файберы
- Оптимизируете потребление памяти при масштабировании
- Проблемы и подходы к масштабированию
- Введение в процессы/потоки: IO-bound и CPU-bound нагрузки
- Архитектура веб-серверов Puma (Multi-threaded, Multi-process, Standalone), Passenger Master Process
- Асинхронная обработка запросов: throw :async, Rack Socket Hijacking
- Потребление памяти: Copy On Write, Garbage collection, фрагментация памяти
Разберёмся с проблемами общих данных при масштабировании и вариантами их решения. На примерах рассмотрим техники синхронизации данных и обеспечения одновременного доступа. Научимся настраивать мониторинг системы для повышения Observability
Результат
- Научитесь заранее решать типовые проблемы и проблемы с общим доступом к данным
- Сможете организовать мониторинг и всегда быть в курсе происходящего в системе
- Поймете, как устроено взаимодействие экземпляров приложения между собой
- Кеширование: KeyDd/Redis
- Синхронизация: Leader Election и Distributed Locking, Consul/Redlock
- Работа с данными: Posix-File, S3/MinOO
- Мониторинг: Victoria/Prometheus, dynamic targets
- Service Discovery: consul, traefik
Разберёмся, из каких функциональных частей состоит 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 и еще много всего интересного
Показать больше
Зарегистрируйтесь
, чтобы посмотреть авторский контент.