Gymterview
junior

Что такое микросервисная архитектура?

Микросервисная архитектура — это подход к разработке программного обеспечения, при котором приложение строится как набор небольших, автономных сервисов, каждый из которых работает в собственном процессе, развёртывается независимо и взаимодействует с другими сервисами через чётко определённые API (обычно HTTP/REST, gRPC или через брокеры сообщений).

Аналогия из жизни: микросервисы — это как отделы в банке. Кассовый зал, кредитный отдел и IT-отдел работают автономно, у каждого свои процессы и данные, но они обмениваются информацией через чётко определённые регламенты.

Каждый микросервис:

  • Отвечает за одну бизнес-функцию — например, сервис платежей, сервис пользователей, сервис уведомлений.
  • Имеет собственное хранилище данных — каждый сервис владеет своими данными и не обращается напрямую к базе другого сервиса.
  • Развёртывается независимо — можно обновить один сервис, не затрагивая остальные.
  • Может быть написан на любом стеке технологий — хотя в рамках одной организации обычно используют ограниченный набор (например, Java/Spring Boot).
Пример
┌──────────┐    ┌──────────┐    ┌──────────┐
│  Сервис  │    │  Сервис  │    │  Сервис  │
│ платежей │◄──►│  заказов │◄──►│ клиентов │
│          │    │          │    │          │
│  ┌────┐  │    │  ┌────┐  │    │  ┌────┐  │
│  │ DB │  │    │  │ DB │  │    │  │ DB │  │
│  └────┘  │    │  └────┘  │    │  └────┘  │
└──────────┘    └──────────┘    └──────────┘

На собеседовании: интервьюер ожидает не только определение, но и понимание ключевых характеристик: автономность, собственное хранилище, независимый деплой. Частая ошибка — описывать микросервисы просто как «маленькие сервисы», не упомянув про владение данными и независимость развёртывания.