Этап 12 из 15 · ≈ 6 ч

Микросервисы

Основа с Middle

Монолит против микросервисов, границы сервисов, взаимодействие и цена распределённости.

Что важно знать

  • Микросервисы решают организационную задачу: независимые команды и выкатки. Цена — сеть, согласованность, наблюдаемость, эксплуатация.
  • Модульный монолит — разумный старт.
  • Границы по предметной области (bounded context), у сервиса — свои данные.
  • Взаимодействие: синхронные вызовы — проще, события — слабее связанность.
  • Распределённый монолит (сервисы, которые выкатываются только вместе) — худшее из двух миров.

Критерии освоения

Middle ≈ 6 ч

  • Объясняет плюсы и минусы микросервисов по сравнению с модульным монолитом
  • Выбирает между синхронным вызовом и событием для взаимодействия

Практика. Разобрать учебный монолит на модули с явными границами и описать, какой модуль и почему стоит выделить первым.

Senior ≈ 8 ч

  • Определяет границы сервисов по предметной области и планирует выделение сервиса из монолита

Практика. Спланировать выделение сервиса из монолита — данные, API, миграция трафика, откат.

Проверка знаний

Войдите, чтобы пройти тест: сданный тест отмечает тему пройденной на карте и в ИПР.

Вопросы с собеседований

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

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

Полный разбор
Что такое гексагональная архитектура (порты и адаптеры) и чем она отличается от слоистой?Middle

Домен в центре и не зависит ни от чего внешнего. Он объявляет порты — интерфейсы на своём языке: входящие (сценарии использования) и исходящие (OrderRepository, PaymentGateway). Адаптеры снаружи реализуют их: REST-контроллер, JPA-репозиторий, клиент Kafka…

Полный разбор
Что в первую очередь покупает переход от монолита к микросервисам?Middle

Микросервисы решают организационную задачу — независимую разработку и выкатку многими командами, а не задачу производительности.

Полный разбор
По какому принципу правильнее проводить границы между сервисами?Middle

По ограниченным контекстам (bounded context) и бизнес-возможностям: типичный сценарий должен выполняться внутри одного сервиса.

Полный разбор
Какие признаки указывают на распределённый монолит?Middle

Цена распределённой системы уплачена, а независимость не получена: общий релиз, общая база, синхронные цепочки, общая библиотека моделей.

Полный разбор
Пользовательский сценарий последовательно вызывает пять сервисов, доступность каждого 99,9%. Какова примерная доступность сценария и что из этого следует?Middle

В синхронной цепочке доступности перемножаются: 0,999⁵ ≈ 0,995. Простой вырастает впятеро — с ~43 минут до ~3,6 часа в месяц.

Полный разбор

Разборы темы

← Вся карта «Backend-разработчик»

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

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

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

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