Сайт не актуален. Свежая информация на сайте highload.ru

Онлайн-трансляция HighLoad++ 2015

Программа HighLoad++ 2015 обещает быть насыщенной: 5 лекционных залов и 3 зала с мастер-классами на одной из самых больших площадок Москвы! Мы понимаем, что не всегда получается приехать в столицу за знаниями, поэтому для жителей других регионов и стран мы предлагаем участвовать в конференции онлайн. Мы решили организовать для вас онлайн-трансляцию всех залов конференции.

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

Обычно программа нашей конференции строится без учета мнения новичков с максимальной глубиной погружения. Мы не повторяемся, каждый год идём вперёд. Это, конечно, радует наших постоянных посетителей, но новичкам с нами сложно. Поэтому, если вы ходите подготовиться, мы предлагаем вам просмотреть записи учебного трека HighLoad++ 2014.

Купить доступ к видеозаписям HighLoad++ 2014 Записи учебного трека включены Купить доступ к видеозаписям
HighLoad++ 2015

Доклады учебного трека HighLoad++ 2014

Константин Осипов, Алексей Рыбак
Mail.Ru, Badoo

Шардинг (метод распределения данных по разным узлам в горизонтально-машстабируемых архитектурах) является центральной темой для любого крупного проекта. Однако принципы и методы шардинга не зависят от стека технологий, поэтому формализация этих принципов в виде базовых "рецептов" (архитектурных паттернов) должна быть интересна максимально широкому кругу разработчиков. В докладе мы рассмотрим наиболее распространённые приемы шардинга и роутинга клиентов и покажем их основные "плюсы" и "минусы".

Паттерны
Андрей Смирнов
ex-Skype

"Что там писать клиентское приложение - вот сервер, который выдерживает 10 тысяч запросов в секунду!"... "Да они там только API делают, вот бы хоть одно приложение под iOS написали!"

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

Клиентсайд
Александр Горный
Mail.Ru Group

Мы в Mail.Ru Group используем:


  • - таск-трекер JIRA,
  • - базу знаний Confluence,
  • - инструмент планирования и контроля работы Greenhopper,
  • - модуль тестирования Zephyr,
  • - инструменты слежения за изменениями и просмотра кода Fisheye и Crucible,
  • - средство построения графиков и диаграмм Gliffy,
  • - систему непрерывной интеграции Bamboo.
Менеджмент
Александр Крижановский
NatSys Lab
  • * Архитектура сервера (потоки, процессы, очереди, ввод-вывод).
  • * Concurrency (работа с потоками, синхронизация, переключения контекста).
  • * Выделение памяти.
  • * Zero-copy ввод-вывод.
  • * Профилирование и системная статистика.
  • * Когда этого мало и стоит переходить на Kernel Programming.


  • * Выравнивание данных и оптимизация работы кэшей процессора, оптимизация для NUMA.
  • * CPU-binding (привязка потоков/процессов и прерываний к процессорам).
  • * Lock-free структуры данных (атомарные операции, барьеры памяти).
  • * Векторные операции.
  • * Cache-concious и cache-oblivious структуры данных.
  • * Транзакционная память (Intel TSX).
Процессоры
Андрей Аксенов
Sphinx

Как построить примитивный самописный поиск за 1 час, как - за 1 вечер, что можно сделать за 1 неделю и когда это оправдано? Что еще, по идее, должен бы уметь Идеальный Поиск и когда лучше взять уже готовое, чем продолжать "пилить" свое? Чем внутри похожи, а чем-таки фундаментально отличаются Sphinx, Lucene и, как следствие, построенные поверх второго Solr, Elastic? Чем Sphinx и Lucene не менее фундаментально отличаются от движков, встроенных в СУБД? Как просто, быстро и абсолютно неправильно "забенчмаркать" разные решения при сравнении? Концепция marketing-driven defaults. Прочие большие (но нефундаментальные) текущие отличия движков, возможна спонтанная пятиминутка ненависти к Java-стеку в целом и саморекламы Sphinx. На сладкое - многогранный ответ на заглавный вопрос: так по каким же критериям выбирать поисковую технологию (очевидно, не техническим)?

Поиск
Роман Друзягин
404 Group

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

Деньги
Олег Царёв
Mail.Ru Group

MySQL - популярная СУБД, используемая во многих проектах. Разработчик Percona Server и инженер Mail.Ru Target расскажет про неудачные решения в репликации MySQL, объяснит её устройство, рассмотрит архитектурные проблемы, многопоточную репликацию в версии 5.7. После этого доклада слушатели поймут, почему это провал, как репликацию нужно было сделать правильно, и почему проект PostgreSQL избежал этих проблем.

Паттерны
Андрей Аксенов
Sphinx

Какая вообще в природе бывает репликация (sync vs. async vs. semisync, master-master vs. master-slave), как оно устроено конкретно в MySQL, в каких версиях что добавили. Про binary/relay log, про SBR/RBR/mixed форматы, про глупости с позициями и про GTID, про то, как из-за всяких бед возникают дополнительные продукты типа Tungsten и Galera. Несколько занятных фактов и парочка фокусов, которые можно учинять конкретно с MySQL-репликацией.

Доклад вчистую про внутреннее устройство, по результатам должно появляться общее понимание того, как оно работает внутри и почему именно так. Конкретные SQL-операторы подробно рассматривать НЕ будем, эти скучные мелочи необходимо будет затем самостоятельно смотреть в документации (или не смотреть).

Паттерны
Петр Зайцев
Percona

Данный доклад в формате мастер-класса охватывает следующие темы:


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

MySQL
Вячеслав Москаленко
Ленвендо
  • a) Основные понятия и принципы работы брокера сообщений RabbitMQ.
  • b) Описание работы обменников с типами Direct / Fanout / Topic.
  • с) Практическое использование брокера RabbitMQ для отложенной обработки трудоемких операций.

  • a) Основные принципы работы с Memcached и Redis, их различия.
  • b) Преимущества и недостатки.
  • c) Практическое применение:
  • * использование Memcached и Redis на высоконагруженном проекте - кэширование карточек объектов в связке Nginx / Memcached / Redis
  • * использование SETS, SORTED SETS (типы данных Redis) для постоянного хранения заранее обсчитанных ID обьектов для параметрической фильтрации каталога.
Общее
Андрей Смирнов

Чем на самом деле занят backend (application server)? Чем обусловлены пределы нагрузки? Как увеличить производительность?

Многозадачность: "нити" (threads), процессы, асинхронный ввод-вывод, event loop. Модели программирования: многопоточная, многопроцессная, корутины, явная асинхронность. Драйвер базы данных: управление соединениями, pipelining, шардирование и отказоустойчивость. Вычислительно сложные задачи: очереди, RPC, workers. Сервисно-ориентированная архитектура (SOA).

Веб-сервера
Игорь Сысоев
Nginx
  • * Как создавать конфигурацию, которую легко сопровождать в течение многих лет.
  • * Правильные и неправильные способы конфигурации, типичные ошибки.
  • * Где следует использовать регулярные выражения.
  • * Почему подход "copy-paste" лучше, чем DRY (Don't Repeat Yourself).
Веб-сервера
Дмитрий Обухов
Mail.Ru Group

Обзорный (информационный) доклад для тех, кто только начинает работать с высокими нагрузками :)

Разберемся в вопросе о том, что же такое highload. Начнем с того, что попытаемся определить его "в попугаях".

Рассмотрим простой веб-проект, скажем, на PHP, определим границы его нагрузочной способности для одного сферического сервера. Далее разберем, что нужно сделать, чтобы выйти за эти границы.

Потом перейдем к проблемам планировщиков OS и способам их преодоления, затронем событийные системы и поговорим о разных языках программирования. Коснемся немного in-memory БД Tarantool.

Ну и в качестве примера применения всего вышеописанного приведу свой проект распределения заказов такси (один из крупных бэкендов Яндекс.Такси).

Общее
Виталий Гаврилов
Ленвендо
  • * Минимальные аппаратные требования.
  • * Схема L2 для соединения компонентов кластера.
  • * Схема L3 для обеспечения внешней доступности сервисов (HSRP, corosync).
  • * Локальное дисковое хранилище высокой доступности (на основе проверенного drbd в режиме dual primary).
  • * Кластерная файловая система OCFS2 (поверх DRBD).
  • * Виртуальные машины в микрокластере.
  • * Базовые операции по обслуживанию виртуальных машин.
  • * Ограничения предлагаемого решения.
  • * Типовые проблемы и их решения.
Общее
Олег Новиков, Илья Салтанов
Sports.ru & Tribuna.com

Мы расскажем о том, как научились хранить данные о трафике на наших сайтах (около 400 млн. хитов в месяц) в распределенной колоночной СУБД, выгружать из API социальных сетей и AppAnnie данные о подписках на наши потоки и установках мобильных приложений, а также импортировать из базы данных сайта информацию об активности зарегистрированных пользователей. Для работы с накопленными терабайтами данных мы научились делать удобные панели мониторинга (dashboards), которыми могут пользоваться не только аналитики, но и журналисты, маркетологи и продакт-менеджеры.

Аналитика
Михаил Табунов
Coub.com

Доклад про:


  • – развитие архитектуры этой системы: как менялись и как будут меняться требования к такого рода системам;
  • – анализ подходящих под эту систему СУБД - с их проблемами и опытом реальной эксплуатации;
  • – почему мы остановились на MongoDB, со всеми минусами её и плюсами;
  • – немного про команду, трудозатраты и поддержку;
  • – рассказ о том, как мы используем эту систему и как она помогает растить наши продукты.
Рост
Петр Зайцев
Percona

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

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

SSD
Станислав Николов
UCDN.com

В своем докладе я поделюсь опытом разработки и внедрения модуля для прозрачного SSD-кэширования в nginx. Такой модуль через добавление одного или нескольких SSD позволяет поднять производительность I/O операций на перегруженном веб-сервере, не внося изменений в application layer.

SSD