31 августа завершился тестовый чемпионат HighLoad Cup - соревнование разработчиков высоконагруженных систем. Лучшим среди более чем 2000 программистов стал студент Технотрека Никита Уваров. В этой статье мы расскажем о чемпионате в целом, а через неделю опубликуем интервью с победителем - Никита расскажет о фишке своего решения и поведает, как ему удалось выиграть в условиях нехилой конкуренции со стороны опытных разработчиков, в том числе, ребят из Mail.Ru.
HighLoad Cup - это:
- 3 недели
- 2000 участников
- 50 финалистов
- over 30 000 решений
- over 8 языков (C++, Go, Java, Rust, Scala, Perl, PHP, Python…)
УсловияУчаствовать в чемпионате мог любой желающий. В рамках соревнования участникам было предложено создать автономное отзывчивое серверное приложение, собрать его в docker-контейнер и залить в хранилище, а затем обстрелять на выданных боевых данных.
В процессе решения можно было использовать любые языки и серверные технологии. Решения проверялись автоматически системой CodeHub-CodeRunner, разработанной сотрудниками лаборатории Технопарка Mail.Ru Group. Для победы в конкурсе необходимо было выдать за время чемпионата лучшее решение по подготовленной для чемпионата метрике.
ПризыМы не оставили наших победителей без наград:
- Apple iPad Air 2 Cellular 16GB за первое место;
- WD MyCloud 6TB за второе и третье места;
- WD MyPassport Ultra 2TB за 4-6 места.
Кроме того, 20 лучших участников получили наш традиционный приз - футболки с символикой чемпионата.
Система обстрелаСистема проверки изначально создавалась для другого соревнования под названием
Russian AI Cup и была доработана для проведения Highload-соревнований. Внутри запускается yandex-танк с движком phantom, который ведет обстрел в несколько потоков с линейно растущим профилем нагрузки (специфично для задачи). Перед началом обстрела у пользовательского решения есть несколько минут (точное время зависит от задачи), чтобы обработать данные из полученного JSON-файла. Корректная работа с этими данными - необходимое условие победы. Обстрела два - короткими и длинными данными.
Ниже представлена схема серверных компонент.
Чемпионат стартовал настолько успешно, что мы планируем повторить. Если ты хочешь попробовать свои силы в новом HighLoad Cup, пиши
Илье Стыценко. А в следующий понедельник читай интервью с победителем чемпионата - о том, что позволило топам вырваться вперед, как подготовиться к высоким нагрузкам и за счет чего вентилятор компьютера становится вертолетом.