Мероприятие Under pressure

Under pressure

27 февраля 2019 г. в 18:30 | Точка кипения – Иваново
highload
nodejs
postgreSQL

Асинхронный Node.JS и балансировка PostgreSQL.
Технологии выживания под нагрузкой.

О событии

Вопрос сохранения работоспособности и отзывчивости веб-сервисов в последнее время стоит как никогда остро. Это обусловлено все большим проникновением интернета в социум и, соответственно, большим числом посетителей. А в свете конкурентной борьбы за аудиторию - еще и повышающимися требованиями к качеству и скорости отдачи контента.

Мы предлагаем послушать доклады мастеров своего дела, которые поделятся опытом "выживания" под нагрузкой, покажут современные техники и технологии балансировки и распределения вычислительных ресурсов баз данных, способы оптимизации кода через его профилирование и распараллеливание.

Митап будет полезен специалистам, занимающимся сложными и нагруженными веб проектами, инженерам и проектировщикам баз данных, программистам на Node.JS, DevOps инженерам и всем, кто стремится идти в ногу со временем в IT сфере.

Спикеры

Виктор Вершанский

Виктор
ВершанскийuKit Group

Developer Advocate в uKit Group: uKit и uLanding. Operation Team консультант-разработчик: Data Layer. Tech Lead команды управления и продажи доменных имён. Бывший преподаватель университета по экономике IT-инноваций, PM и системный аналитик.

Работа с асинхронным контекстом в Node.JS : трекинг и профилирование

 

Цель доклада: познакомить слушателей с подходами к работе с мониторингом асинхронности в Node.js

В докладе будут рассмотрены следующие вопросы:

  1. Асинхронность в Node.js: основы Event Loop под Node.
  2. Профилирование: Chrome Dev Tools.
  3. Тracing:
    - trace + Dev Tools,
    - 0x Flame Graph,
    - Clinic Bubbleprof.
  4. Tracking:
    - async_hooks: обзор,
    - что можно сделать: обработка ошибок, вычисление времени операций, длинные логи : stack trace,
    - Continuation Local Storage : контекст обработки асинхронного потока.
  5. Sync Split : Queue Problem + решения.
Андрей Сальников

Андрей
СальниковData Egret

За время работы с базами данных успел поработать с ними в телекоме, в банковской сфере, в сфере интернет-рекламы, консультировал проекты, работающие в сфере государственных услуг. Работал с Oracle в прошлом, сейчас в основном работает с PostgreSQL.

Управление нагрузкой на PostgreSQL, когда одного сервера уже мало

 

Доклад будет посвящен двум темам.

Первая - это стандартные практики распределения нагрузки в PostgreSQL. Сначала мы обсудим причины возникновения высокой нагрузки на базу данных. Следующим этапом рассмотрим те методы распределения нагрузки, которые мы используем у наших клиентов: партицирование, распределение читающей нагрузки по репликам базы данных, шардирование.

Во второй части доклада будут рассмотрены вопросы того, как устроена репликация в PostgreSQL, какие есть различия между синхронными и асинхронными репликами, как правильно настраивать реплики для распределения нагрузки между ними, какие дополнительные утилиты использовать для более прозрачной балансировки нагрузки.

Отчет о прошедшем мероприятии

27 февраля состоялся митап, посвященный проблемам, связанным с разработкой высоконагруженных систем, а так же современным способам оптимизации и отладки кода.
В мероприятии приняли участие Виктор Вершанский и Андрей Сальников - резиденты крупнейшей профессиональной конференции для разработчиков высоконагруженных систем HighLoad ++.

Вниманию участников митапа было предложено два уникальных доклада.

Первым выступил Виктор Вершанский - специалист по высоконагруженным проектам на Node.js в крупной IT компании uKit Group, занимающейся продвинутыми хостинг решениями. В первой части доклада Виктор описал проблематику отладки и перехвата исключительных ситуаций, происходящих в асинхронном контексте.
Была построена тестовая модель автомата состояний на базе фреймворка Express для Node.js и показаны типичные для веб приложений случаи возникновения неперехватываемых исключений. Суть проблемы заключается в невозможности стандартными средствами отладки отследить и зафиксировать контекст возникновения ошибки и как следствие - провести ее качественный анализ.
Отдельно был поставлен вопрос сбора и анализа ошибок, возникающий в production среде приложений на Node.js. В данном случае проблема усугублялась большим количеством обрабатываемых данных и внесением существенных задержек в работу самого приложения модулей отладки.
В качестве средств для решения задач указанной проблематики были продемонстрированы такие средства анализа дампов ошибок как Clinic Doctor, Clinic Flame и Clinic Bubbleprof, а также использование технологии async_hooks, как интегрированной в приложение системы формирования контекста для перехватываемых исключений.
Напоследок Виктор поделился опытом решения подобных задач в проектах его организации uKit Group и информацией о докладах его соратников по высоконагруженным Node.js проектам с конференции HollyJS.

Подхватил эстафету борьбы с проблемами высоких нагрузок Андрей Сальников - бессменный резидент конференций Highload в Москве от компании Data Egret. Андрей по специальности DBA (Data Base Administrator), вот уже несколько лет успешно занимается решением проблем с базами данных PostgreSQL у клиентов, в список которых входят такие крупные игроки как Lamoda и HeadHunter.
Доклад начался с наглядного описания типичных ситуаций, возникающих при игнорировании основополагающих принципов работы MVCC в PostgreSQL. Были затронуты проблемы некорректной работы с базой данных со стороны разработчиков приложений, неудачные архитектурные решения и ограничения по вычислительным ресурсам. Однако во многих случаях чрезмерная нагрузка на базу данных не может быть снижена путем оптимизации работы с ней, для таких ситуаций Андрей описал механизмы масштабирования PostgreSQL "из коробки", нюансы синхронной и асинхронной репликации, сторонние утилиты для балансировки нагрузки и шардирования, а также возможности резервного копирования на случай отказа основных узлов системы.

Приятным моментом был кофебрейк, во время которого можно было не только подкрепиться булочками с кофе и чаем, но и свободно пообщаться со спикерами, которые с удовольствием отвечали на интересующие участников митапа вопросы. Стоит отметить, что спикеры высоко оценили уровень и заинтересованность в подобных мероприятиях Ивановских IT специалистов.

Традиционно на каждом мероприятии компания Инвольта дарит подарки. В этот раз победители конкурса репостов унесли с собой удобные беспроводные пауэр банки, а каждый участник митапа получил свой личный набор брендированной продукции. Призом в конкурсе на самого активного слушателя так же стал фирменный пауэрбанк.

Мы благодарим участников за внимание, вопросы, активность, за участие и терпение! 🙂

Для свободного просмотра доступны видео выступлений Виктора Вершанского и Андрея Сальникова

Мы рады работать и развиваться для вас!

Скоро новый митап 🙂
Следите за нашими новостями в социальных сетях.

И помни: Involta Events - твой путеводитель в мире IT.

Организатор

Инвольта - крупный IT-холдинг, специализирующийся на разработке сложных web-систем, интеграции бизнес-процессов в web-среду, разработке мобильных приложений, проектировании и разработке интернет-рекламных систем международного уровня.