Архитектурные паттерны на HighLoad++ 2015

Архитектурные паттерны

И конкретные примеры реализации

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

Архитектурные паттерны

На этой конференции подробно разберем пару из них и первый это, конечно, микросервисы 🙂

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

Антон Резников и Владимир Перепелица расскажут не только о микросервисной архитектуре Облака@mail.ru, но и конкретной реализации патттерна на NoSQL-базе данных Tarantool. Да, Tarantool — это еще одна NoSQL база данных, но еще это полноценный сервер приложений. Приложений, расположенных рядом с данными!

Денис Иванов (2Gis) продолжит тему в докладе «Путь от монолита на PHP к микросервисам на Scala«. Так и хочется воскликнуть — «Денис, остановись, что ты делаешь, зачем?!». И Денис отвечает на этот вопрос просто — «6 нод с приложениями вместо 18». Ответ достойный, надеемся услышать на конференции детали.

Еще один паттерн, часто используемый в высоконагруженных проектах — это очереди. Тему раскрывает Павел Филонов (Positive Technologies) в докладе «101 способ приготовления RabbitMQ и немного о pipeline архитектуре«.

В докладе обсуждаются варианты использования системы обмена сообщениями RabbitMQ в качестве связующего программного обеспечения (middleware) для построения конвейерной архитектуры. Рассматриваются вопросы производительности и масштабирования как stateless так и statefull фильтров.

Доклад похож на учебный, но тема то уж больно хороша!

Юрий Насретдинов
Следующий доклад о балансировке от Юрия Насретдинова из компании Badoo — серьезная заявка на победу.

В докладе я расскажу о том, как мы добились идеально ровной балансировки нагрузки по кластеру из 200+ серверов, реализовали автоматический подбор весов и получили разброс CPU usage в 2,5% в пике трафика. Это позволило сэкономить нам около 40-50 серверов и улучшить время отклика мобильного сайта в пике нагрузки. Реализацию приведенного алгоритма мы выложим в open-sourсe.

Бекенд badoo.com обрабатывает 70 тысяч запросов в секунду!

Немудрено, что балансировке этого потока уделяется столько внимания. Детали на конференции, приходите!

И, напоследок, классический доклад об архитектуре крупного проекта, правда очень крупного, самого крупного сервиса объявлений в Рунете — Avito.ru. Михаил Тюрин, главный системный архитектор Avito расскажет о том, «Где живут ваши объявления?»

Одинаковых высоконагруженных проектов не бывает, дьявол кроется в мелочах, в нюансах работы той или иной функции, хранения и использования того или иного блока данных. Именно поэтому свой курс лекций о высоконагруженных системах в МФТИ я начинаю с рассказа и демонстрации важности аналитической части работы над высоконагруженных проектом. И именно поэтому я рекомендую сходить на доклад Михаила — крупнейший классифайд в Европе, 600 миллионов объявлений — как это все работает?

В следующих письмах мы продолжим рассказ о наших иностранных гостях. У нас фуллхаус 🙂 Среди докладчиков Google, YouTube, Facebook и Alibaba.

 

Архитектурные паттерны на HighLoad++ 2015

Добавить комментарий