SobesLab логотип SobesLab

Ответ

Микросервисная архитектура — подход к построению приложения как набора мелких независимых сервисов, каждый из которых выполняет свою узкую функцию и взаимодействует с другими через хорошо определённые интерфейсы (обычно через сетевые API, например REST или сообщения). В отличие от монолита, где все функциональности в одном приложении, микросервисы раздельно развёртываются, масштабируются и обновляются. Каждый микросервис может быть реализован на своей технологии, иметь собственную базу данных (отделённый контекст). Преимущества: лучшая масштабируемость (можно масштабировать только горячие сервисы), гибкость разработки (разные команды могут работать над разными сервисами, обновлять их независимо), отказоустойчивость (падение одного сервиса не обрушит всю систему, если правильно обработаны ошибки). Недостатки: усложняется инфраструктура, возникают накладные расходы на коммуникацию между сервисами, сложнее обеспечивать консистентность данных, нужна система оркестрации, мониторинга, логирования распределённых компонентов.