Архитектурные паттерны
И конкретные примеры реализации
Ключевая секция конференции разработчиков высоконагруженных систем HighLoad++, которая пройдет уже через месяц в Москве, это, конечно, Архитектуры. Доклады в этой секции меняются — если три-четыре года назад мы слушали общие слова о том, сколько серверов в Фейсбуке и где хранятся файлы во Вконтакте, то сейчас в Программу такие доклады уже не проходят. Сейчас время деталей, микросервисов, подробных разборов того или иного архитектурного патттерна.
Архитектурные паттерны
На этой конференции подробно разберем пару из них и первый это, конечно, микросервисы 🙂
Единое приложение строится как набор небольших микросервисов, каждый из которых работает в собственном процессе, максимально независим от других микросервисов, реализует, как правило, одну бизнес-функцию и коммуницирует с остальными, используя легковесные механизмы, тот же HTTP.
Антон Резников и Владимир Перепелица расскажут не только о микросервисной архитектуре Облака@mail.ru, но и конкретной реализации патттерна на NoSQL-базе данных Tarantool. Да, Tarantool — это еще одна NoSQL база данных, но еще это полноценный сервер приложений. Приложений, расположенных рядом с данными!
Денис Иванов (2Gis) продолжит тему в докладе “Путь от монолита на PHP к микросервисам на Scala“. Так и хочется воскликнуть — “Денис, остановись, что ты делаешь, зачем?!”. И Денис отвечает на этот вопрос просто — “6 нод с приложениями вместо 18”. Ответ достойный, надеемся услышать на конференции детали.
Еще один паттерн, часто используемый в высоконагруженных проектах — это очереди. Тему раскрывает Павел Филонов (Positive Technologies) в докладе “101 способ приготовления RabbitMQ и немного о pipeline архитектуре“.
В докладе обсуждаются варианты использования системы обмена сообщениями RabbitMQ в качестве связующего программного обеспечения (middleware) для построения конвейерной архитектуры. Рассматриваются вопросы производительности и масштабирования как stateless так и statefull фильтров.
Доклад похож на учебный, но тема то уж больно хороша! |