6 Причин Делать Микросервис
Микросервисы имеют и плюсы и минусы, на которых мы сейчас останавливаться не будем.
Существует 6 причин разделять компоненты на микросервисы, вместо разработки монолита:
- Разная частота изменений (сервисы, которые меняются часто имеет смысл выделить в отдельный микросервис)
- Разный жизненный цикл (например, какой-то компонент требует особого вида тестирования или к нему особые требования у регуляторов)
- Разные требования к масштабированию (например, сильно нагружены чаще всего только 1-2 сервиса из десятков)
- Изоляция сбоев (если взорвется один сервис остальные продолжат работать, но при этом критичных компонентов не так много)
- Фасад к внешним зависимостям (устойчивость к смене их API, всякие AAA, и т.д.)
- Необходимость в разном техническом стеке в разных частях системы
(Это вольный пересказ статьи 1)
Кажется, эти причины можно использовать для создания Outpost в архитектурном паттерне Цитадель.