Вопрос с собеседования · System design

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

JuniorМонолит и микросервисы
Ещё спрашивают так:
  • Что такое микросервисы?
Коротко

Система из независимо развёртываемых сервисов, каждый владеет своими данными и отвечает за бизнес-возможность. Ключевое — независимость, а не размер.

  • Общая база или совместная выкатка — признаки распределённого монолита
  • Сервисы общаются по сети: API и события
  • Разбиение внутри одного процесса — модульный монолит

А ещё Цена: сеть, итоговая согласованность, эксплуатация

Подробно

Название вводит в заблуждение размером: определяющим признаком является независимость развёртывания и владения, а не количество строк. Если сервисы приходится выкатывать вместе или они ходят в общую базу, то формально их много, а фактически это единая система с сетью посередине. Разбиение внутри одного процесса — это модульный монолит, и он часто оказывается более разумной отправной точкой.

Что хотят услышать

  • Определение через независимость развёртывания и владения данными.
  • Отличие от распределённого монолита и модульного монолита.

Частые ошибки

  • Мерить микросервисы размером кода.
  • Считать общую базу данных допустимым упрощением.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗Разбиение приложения на модули внутри одного процесса, которые развёртываются вместе
  • ✓Система из независимо развёртываемых сервисов со своими данными
  • ✗Архитектура, в которой каждый сервис содержит не более тысячи строк кода
  • ✗Способ упаковки и размещения приложения в контейнерах Docker и Kubernetes

Что спросят дальше

  • Чем модульный монолит отличается от набора микросервисов?
  • Что покупает такое разбиение и чем за него платят?

Разбор темы

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования