Микросервисы — разделение крупного приложения на небольшие независимые сервисы. Каждый сервис: своя база данных, свой цикл развёртывания и свой технологический стек. Netflix, Amazon, Uber — компании, широко применяющие микросервисы. Преимущества: независимый деплой, гибкость в выборе технологий, раздельное масштабирование.
Сложности: распределённые системы (сетевые задержки, частичные сбои), распределённые транзакции, обнаружение сервисов, более сложный мониторинг и отладка. Мартин Фаулер: «Microservices premium» — эта архитектура оправдывает себя только для достаточно сложных систем. Для небольшого проекта «Modular monolith» — подготовленный к микросервисам, но в одном деплойменте — зачастую оптимальный выбор.
Наши курсы по этой теме