Гибридная архитектура: разделяемый на микросервисы монолит
Доклад принят в программу конференции
Целевая аудитория
Тезисы
Пусть нам дана задача разработать решение, способное работать 24/7 под большой нагрузкой, динамически реагируя на эту нагрузку со всеми вытекающими. И как результат мы выбираем микросервисную архитектуру.
Однако позже к нам приходят и говорят, что есть много-много заказчиков, которые очень возбуждены и хотят купить наше решение. Но вот проблема: нагрузка у них не та. И необходимо работать на одном сервере.
И тут возникает проблема: микросервисная архитектура пусть даже в докерах или как-то ещё задеплоенная на один сервер хорошо работать не сможет.
Решение: разработать утилиту, соединяющую избранные микросервисы в одну программу: в монолит. Ну а дальше сами решайте: это разделяемый монолит или соединяемые микросервисы :)
Попутно:
* автозамена вызова через RMQ на прямой;
* автозамена вызова через HTTP на прямой;
* автосокращение используемой памяти в 6 раз;
* снижение нагрузки на CPU в 2 раза;
* разные деплои: один для слитого варианта, один для раздельного — на Kubernetes;
* и прочее-прочее-прочее.
Архитектор и разработчик с 15-летним опытом как .NET-разработки, так и C++, C, Asm, Groovy.
Газпром-Нефть
Видео
Другие доклады секции
Архитектуры, масштабируемость