Live-данные · обновлено 19 июля 2026 г.

Микросервисы (microservices): что это, когда нужны и чем отличаются от монолита

Микросервисы выбирают, когда один продукт уже нельзя спокойно менять одной поставкой. Навык нужен там, где сервисы выпускают отдельно, связывают по API или событиям и потом поддерживают без аварий на стыках.

МММаксимов Михаил·Технический редактор·продакт-менеджер, бизнес-аналитик · опыт 15+ лет
Вакансий
1 008
активных в Москве
Медиана зарплаты
276 тыс. ₽
n = 203 вакансии с указанной зарплатой
Индекс спроса
96/100
#13 из 332 навыков
Доля IT-рынка
14.4%
50 профессий

Коротко о навыке

Микросервисы — это способ разделить систему на отдельные сервисы с ясной ответственностью. У каждого сервиса свой код, свой выпуск и часто свои данные. На схеме это выглядит красиво. В работе появляются контракты, сетевые сбои, очереди, трассировка и несовпадение данных между соседями. Часто рядом возникает и отдельная эксплуатационная ответственность. Поэтому микросервисы выбирают не ради модного слова. Они нужны там, где команды правда должны выпускаться независимо и не ждать общий релиз. Сильный специалист умеет провести границу сервиса, выбрать способ связи и заранее увидеть цену такого решения. Он понимает, где такая архитектура помогает, а где только добавляет дорогую сложность.

Что такое Microservices

Что это

Архитектурный подход, где систему делят на отдельные сервисы с понятной зоной ответственности.

Где нужен

В крупных продуктах, платформах и интеграционных контурах с независимыми релизами.

Что даёт

Помогает выпускать части системы отдельно и не держать весь продукт в одном блоке.

Смысл не в количестве сервисов

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

Граница важнее схемы

Отдельный сервис живёт по контракту. Если граница размыта, команда получает лишние вызовы, дубли данных и тяжёлую отладку.

Нужен честный выбор

Иногда отдельный сервис помогает. Иногда модульный монолит оказывается быстрее, проще и дешевле в сопровождении.

Понятия / Карта

Из чего состоит Microservices

Понятие Что это Что нужно уметь
Сервис
Самостоятельная часть приложения со своим кодом, деплоем и, как правило, своей базой.
Уметь очертить одну зону ответственности сервиса и не тянуть в него чужую логику.
API Gateway
Единая точка входа, которая принимает внешние запросы и раздаёт их по сервисам.
Настроить маршрутизацию, авторизацию и лимиты, не превращая шлюз в новый монолит.
Service Discovery
Механизм, через который сервисы находят адреса друг друга в динамичной сети.
Понимать, как сервис регистрируется и как соседи получают его актуальный адрес.
Message Broker
Посредник вроде Kafka, через который сервисы обмениваются событиями асинхронно.
Спроектировать события, топики и обработку так, чтобы потеря или дубль не ломали логику.
Saga
Цепочка шагов через несколько сервисов с откатом через компенсирующие действия.
Описать шаги и компенсации бизнес-операции без общей транзакции между сервисами.
Circuit Breaker
Предохранитель, который перестаёт слать запросы в упавший сервис и даёт ему восстановиться.
Заложить таймауты, ретраи и деградацию, чтобы один сбой не завалил всю цепочку.
Bounded Context
Граница предметной области из DDD, по которой режут систему на сервисы.
Найти естественные швы домена и провести границы сервисов по смыслу, а не по таблицам.
Service Mesh
Слой управления трафиком между сервисами: ретраи, таймауты, шифрование, метрики.
Понимать, когда сеть сервисов доросла до mesh, а когда хватает API Gateway.
Идемпотентность
Свойство операции давать один результат при повторе того же запроса.
Сделать обработчики устойчивыми к дублям сообщений и повторным вызовам по сети.
Механика / Работа

Как работают микросервисы: от границы домена до эксплуатации

Микросервисная архитектура начинается не с количества сервисов, а с границы ответственности. У каждого сервиса есть свой код, данные или область данных, контракт, способ связи с другими сервисами, правила выпуска и наблюдаемость для разбора сбоев.

Шаг 01

Выделить бизнес-возможность

Сервис должен отвечать за понятную часть продукта: заказ, платёж, каталог, профиль, уведомление или другой устойчивый домен.

Шаг 02

Описать контракт

Команда фиксирует HTTP API, событие, схему сообщения или другой способ взаимодействия, чтобы сервисы не зависели от внутренних деталей друг друга.

Шаг 03

Разделить данные

У сервиса появляется своя зона ответственности за данные; общая база на всех часто превращает микросервисы в распределённый монолит.

Шаг 04

Настроить выпуск изменений

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

Шаг 05

Сделать сбои видимыми

Логи, метрики, трассировка и оповещения нужны с первого рабочего контура, потому что ошибка часто проходит через несколько сервисов.

Карьера / Роли

Карьерные треки с Microservices

Microservices переносится между ролями: Системный аналитик, Java-разработчик, Go-разработчик. В одном треке этот навык может быть основным рабочим инструментом, а в другом - сильным прикладным усилителем основной специализации.

Роли с Microservices за период

Системный аналитик держит 65.3% вакансий по навыку.

Ещё 7 ролей используют Microservices

Текущий срез показывает активные вакансии сейчас. Распределение по ролям рассчитано по расширенной исторической выборке, поэтому значения могут быть выше текущего количества активных вакансий.

Практика / Задачи

Частые задачи с Microservices

Microservices ценен не абстрактным знанием инструмента, а повторяющимися рабочими задачами — ниже они разобраны так, как встречаются в реальной работе.

Задача 01

Выделить границы сервиса

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

Задача 02

Описать контракт между сервисами

Описать контракт между сервисами и избежать жёсткой связки через внутренние детали реализации.

Задача 03

Разобрать сбой на стыке сервисов

Разобраться, где ломается пользовательский сценарий, если ошибка живёт на стыке нескольких сервисов.

Задача 04

Выбрать способ интеграции

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

Задача 05

Провести независимую выкладку

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

Задача 06

Настроить трассировку инцидентов

Настроить наблюдаемость и трассировку так, чтобы инциденты были диагностируемы в распределённой системе.

Практика / Ошибки

Ошибки новичков

Ошибка 01

Считать микросервисы обязательными

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

Ошибка 02

Делить систему слишком рано

Делить систему слишком рано, когда монолит ещё не исчерпал свой ресурс.

Ошибка 03

Игнорировать цену наблюдаемости

Игнорировать стоимость наблюдаемости, интеграций и эксплуатации распределённой архитектуры.

Ошибка 04

Учить терминологию без доменной практики

Учить терминологию без реального понимания доменных границ и поведения сервисов в рабочей среде.

Рынок / Контекст

Почему Microservices востребован

Микросервисы востребованы в крупных продуктах и платформах, где одна кодовая база уже мешает выпуску изменений. Рынок ценит не сам термин, а умение разделить систему по рабочим доменным границам и потом держать её без хаоса на стыках. Чем больше в продукте команд, интеграций и независимых релизов, тем заметнее разница между человеком, который знает красивое слово, и инженером, который понимает цену распределённой архитектуры. Особенно это видно в системах, где ошибка между сервисами сразу бьёт по пользователю, выпуску и поддержке. Именно там граница сервиса перестаёт быть красивой схемой и становится ежедневной инженерной работой.

Закрывает рабочую задачу

Microservices ценят не за знание термина, а за конкретную пользу в ежедневной работе команды.

Живёт в реальном стеке

Навык редко существует изолированно: он встроен в процессы, инструменты и смежные роли, поэтому спрос держится дольше.

Даёт прикладную самостоятельность

Специалист с Microservices быстрее проверяет гипотезы, решает задачи и меньше зависит от ручной передачи работы между людьми.

Сигнал рынка
Высокий спрос

Microservices стабильно удерживается в активном прикладном слое рынка.

Рынок / Спрос

Спрос на Microservices на рынке

Microservices сохраняет высокий текущий спрос на рынке: 1 008 активных вакансий, #13 по рынку, 14.4% IT-вакансий. Ниже показано число открытых вакансий на конец каждого месяца: это исторический ряд по состоянию на конец месяца, а не текущий срез рынка на сегодня.

Сила спроса
Высокий спрос
1 008
активных вакансий сейчас

#13 по рынку • 14.4% IT-вакансий

Месяц к месяцу
1 320
июль 2026 — предварительный накопительный срез

-69 вакансий и -5% к предыдущему месяцу.

Доход / Уровни

Зарплаты в вакансиях, где требуется Microservices

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

Медиана рынка
Рабочий сигнал
276 000
₽ / месяц

203 вакансий с зарплатой в расширенной зарплатной выборке

Коридор по грейдам
230 000 - 297 000
₽ / месяц

Middle → Senior

Основной уровень
Senior
по структуре рынка

Senior - основной уровень рынка (58%)

Связи / Навыки

Навыки в связке с Microservices

Microservices редко живёт изолированно: чаще всего рынок видит его рядом с PostgreSQL, Kafka, REST API. Самая плотная связка сейчас - PostgreSQL: оба навыка встречаются вместе в 54% вакансий.

Главная связка: PostgreSQL • 54% вакансий. Показываем общерыночные связки Microservices: не junior-минимум из блока выше, а навыки, которые чаще всего встречаются рядом с ним в одной вакансии.

Рабочий стек вокруг Microservices

навыки, которые рынок чаще всего видит рядом в одной вакансии

Навык Зачем рядом Доля
Одна из самых плотных рыночных связок рядом с Microservices.
54%
Часто встречается рядом с Microservices в одном рабочем сценарии.
53%
Часто встречается рядом с Microservices в одном рабочем сценарии.
52%
SQL
Поддерживает соседние процессы и усиливает рабочий контур навыка.
50%
Поддерживает соседние процессы и усиливает рабочий контур навыка.
46%
Поддерживает соседние процессы и усиливает рабочий контур навыка.
45%

Связки, которые усиливают доход

не базовый минимум, а более сильные комбинации стека

1
ClickHouse
n = 43
+18% 325 000 ₽
2
gRPC
n = 33
+17% 322 000 ₽
3
Prometheus
n = 43
+14% 316 000 ₽
4
Kubernetes
n = 95
+14% 316 000 ₽
Вход / Старт

Порог входа

Сейчас на рынке 52 активных junior-вакансий с Microservices. Это 5.9% всех вакансий по навыку, поэтому для старта важнее всего смотреть на реальный объём junior-окна и на стек, который рынок ждёт рядом.

Junior-вакансии сейчас
52
активных вакансий

5.9% всех вакансий по навыку • Senior / Junior 9.8x

Доля junior
5.9%
% всех вакансий по навыку

Окно входа узкое: рынок чаще нанимает с опытом.

Что нужно на старте

Стартовый стек

16
навыков в медианной вакансии

Медианная вакансия с Microservices ожидает около 16 навыков в стеке. Это широкий стартовый набор: рынок обычно ищет не один изолированный инструмент, а рабочую комбинацию соседних навыков.

Чаще всего требуют вместе

навыки из junior-вакансий, где встречается Microservices

Навык Junior-вакансии
SQL
28
24
Git
24
Apache Kafka
20
Сравнение / Инструменты

Микросервисы: что выбрать рядом

Микросервисы — архитектурный стиль, а не отдельный инструмент. Практический выбор обычно касается связи, запуска, доставки изменений и наблюдаемости.

Инструмент За что отвечает Когда нужен Граница

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

Отдельные сервисы с собственным выпуском и чёткой границей ответственности.

Когда несколько команд должны менять части системы независимо.

Без зрелой эксплуатации быстро становятся слишком дорогими.

Модульный монолит

Одна кодовая база с жёсткими внутренними модулями и общим выпуском.

Когда границы домена уже важны, но overhead распределённой системы ещё не окупается.

Не даёт полноценной независимости релизов.

Событийная интеграция

Связь через события и асинхронные реакции соседних сервисов.

Когда важно ослабить жёсткую зависимость между вызовами.

Сложнее отслеживать порядок обработки и согласованность данных.

Service mesh

Инфраструктурный слой для сетевой политики, routing и observability.

Когда сервисов уже много и сетевой контроль стал отдельной задачей.

Не решает плохую границу сервиса и не заменяет архитектуру.

Навык / Применение

Где используется Microservices

Микросервисы нужны там, где один продукт уже обслуживают несколько команд и цена общего релиза становится слишком высокой. Это особенно заметно в больших внутренних платформах, e-commerce и интеграционных контурах.

Сценарий 01

Независимые команды

Разные команды меняют один продукт и не хотят ждать общий релиз.

Сценарий 02

Разная нагрузка

Части системы масштабируются по-разному и живут под разным трафиком.

Сценарий 03

Сложные интеграции

Доменные границы уже нельзя держать внутри одного большого модуля.

Сценарий 04

Зрелая эксплуатация

Команда готова поддерживать мониторинг, очереди и дисциплину контрактов.

По направлениям

Microservices заметен в 5 направлениях рынка с долей выше 5%.

Направление Контекст Доля
Разработка
Схема БД, запросы приложения и разбор производительности.
44.9%
Аналитика
Запросы, метрики, витрины и быстрые ответы по данным.
19.3%
Тестирование
Проверка данных и интеграционных сценариев.
12.8%
Инфраструктура
Диагностика БД и служебные рабочие запросы.
7.5%
Направления показывают, в каких частях IT-рынка навык заметен чаще всего, без разбивки по ролям.
Инструмент / Возможности

Что должен понимать специалист по микросервисам

Рабочий уровень в микросервисах начинается с границы сервиса, контракта и цены сбоя. Всё остальное имеет смысл только после этого.

Границы домена

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

Контракты

HTTP API, события, схемы сообщений и обратная совместимость между командами.

Данные

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

Сеть и сбои

Тайм-ауты, повторные попытки, идемпотентность, очереди ошибок и поведение при недоступности соседнего сервиса.

Выпуск изменений

Независимые проверки, версии контрактов, выкладка, откат и контроль совместимости.

Наблюдаемость

Метрики, логи, трассировка, корреляционные идентификаторы и понятная диагностика пользовательского сценария.

Сравнение / Контекст

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

Главная ошибка — считать микросервисы автоматическим улучшением монолита. Иногда монолит проще, дешевле и надёжнее; микросервисы оправданы только там, где независимость команд и частей системы окупает операционную сложность.

Микросервисы и монолит

Монолит проще в старте и выпуске. Микросервисы дают независимость, но добавляют сетевую сложность.

Микросервисы и модульный монолит

Модульный монолит часто помогает проверить границы без цены распределённой системы.

Синхронный вызов и событие

API быстрее даёт ответ. Событие ослабляет связь, но усложняет порядок обработки.

Отдельный сервис и распределённый монолит

Если сервис нельзя менять без соседей, он только выглядит независимым.

Данные / Стек

Что находится вокруг микросервиса в рабочем стеке

У микросервиса почти всегда есть своя база, очередь, журналы и метрики. Нередко рядом стоят API-шлюз, кэш и трассировка. Поэтому инженер думает не только о коде. Он заранее смотрит, как сервис выпускается, наблюдается и переживает сбои соседей.

Репозиторий и сборка

Код сервиса, тесты, зависимости, контейнерный образ и правила выпуска изменений.

База или область данных

Сервис должен владеть своей частью данных или явно работать через контракт другого сервиса.

API и события

Синхронные HTTP-вызовы, асинхронные события, схемы сообщений и версии контрактов.

Платформа запуска

Docker, Kubernetes, секреты, сетевые правила, лимиты ресурсов и настройки окружения.

Наблюдаемость

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

Практика / Workflow

Как Microservices используется в реальном проекте

Этап Что происходит Артефакт
1 1. Запрос клиента
Клиент шлёт один вызов, не зная, сколько сервисов за ним стоит.
HTTP/REST-запрос к публичному API
2 2. API Gateway
Шлюз принимает запрос, проверяет авторизацию и лимиты.
Токен, правило rate limit, запись в лог
3 3. Маршрутизация
Шлюз через service discovery находит адрес нужного сервиса.
Маршрут и адрес целевого сервиса
4 4. Основной сервис
Сервис обрабатывает запрос в своей зоне ответственности.
Бизнес-логика, trace-id по цепочке
5 5. Вызов соседа
Нужны чужие данные — синхронно по REST/gRPC или событием через Kafka.
gRPC-вызов или сообщение в топике
6 6. База сервиса
Сервис читает и пишет только в свою базу, к чужим не ходит.
Запись в PostgreSQL сервиса
7 7. Ответ и событие
Шлюз собирает ответ клиенту, а факт операции уходит событием.
Ответ клиенту, событие в брокере
Навык / Границы

Когда Microservices не нужен

Не равны «много маленьких приложений»

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

Не нужны всем командам

Для маленького продукта микросервисы часто только увеличивают сложность и стоимость изменений.

Не заменяют архитектурную дисциплину

Даже распределённая система может быть плохо спроектирована и тяжело поддерживаема.

Не учатся отдельно от серверной базы

Без понимания API, данных, выкладки и сетевого поведения тема остаётся абстрактной.

Будущее / Роль

Перспективы Microservices

Перспективы Microservices завязаны не только на текущем спросе, но и на том, как навык встраивается в новые платформы, инструменты и рабочие контуры.

Сигнал 01

Микросервисы останутся важным паттерном зрелых систем

Подход уже стал частью стандартного архитектурного инструментария больших продуктов.

Сигнал 02

Расти будет ценность платформенного слоя

Чем больше сервисов, тем выше роль платформы, наблюдаемости и внутренних инженерных стандартов.

Сигнал 03

ИИ не уберёт архитектурный выбор

Помочь с шаблонами можно, но решение о границах, контрактах и компромиссах всё равно остаётся человеческим.

Практика / Портфолио

Портфолио с Microservices: с чего начать

Проект 01

Разбить монолит на 2–3 сервиса

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

Проект 02

API Gateway перед сервисами

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

Проект 03

Асинхронная связь через Kafka

Свяжите два сервиса событием: один публикует факт в топик Kafka, второй обрабатывает его независимо. Отработайте дубли и порядок сообщений, сделайте обработчик идемпотентным. Это ровно та связка, что чаще всего...

Проект 04

Отдельная БД на сервис

Дайте каждому сервису собственную базу и запретите прямой доступ к чужим таблицам. Реализуйте бизнес-операцию через два сервиса и добавьте Saga с компенсацией, чтобы при сбое второго шага откатить первый. PostgreSQL...

Проект 05

Health-check и трейсинг

Добавьте каждому сервису health-эндпоинт и сквозной trace-id, который проходит через всю цепочку вызовов. Соберите логи в одном месте и покажите на скриншоте путь одного запроса через несколько сервисов — это база...

Проект 06

Деплой в Kubernetes

Упакуйте сервисы в контейнеры и разверните в Kubernetes: манифесты, проверки живучести, отдельное масштабирование нагруженного сервиса. Проведите обновление без простоя и откат неудачного релиза. Docker и Kubernetes —...

Обучение / Маршрут

Как изучить Microservices

Учить микросервисы лучше не с большой схемы, а с одного живого кейса. Возьмите систему из двух или трёх сервисов и разберите границу домена, контракт, данные и способ связи. Потом добавьте сбой соседнего сервиса, задержку ответа и повтор запроса. Так быстрее видно, почему здесь нужны логи, метрики и обратная совместимость. Дальше полезно сравнить то же решение с модульным монолитом, посчитать цену отдельного деплоя и посмотреть, как меняется отладка. Такой путь быстрее отрезвляет, чем длинный теоретический обзор. Он ещё хорошо показывает, где сервис оправдан, а где нет. И где лучше ещё подождать.

Этап 01

База

Доменные границы, API, данные и честный выбор между монолитом и сервисом.

Этап 02

Рабочая практика

Логи, ретраи, versioning, observability и безопасный деплой.

Этап 03

Сложные сценарии

События, очереди, sagas, eventual consistency и отказоустойчивость.

Этап 04

Соседний стек

Kafka, Kubernetes, service mesh, monitoring и platform engineering.

Курсы · по данным рынка

Курсы по микросервисам: на что смотреть

Соответствие — доля тем навыка, которые охватывает программа курса

Практика / Первый запуск

Как начать с микросервисов на практике

Начать стоит с малого контура. Выберите один бизнес-процесс, который можно отделить без фантазий. Опишите, какие данные у него свои, какой API нужен соседям и что будет при таймауте. Затем проверьте релизную цепочку: как сервис собирается, как логирует ошибки, как откатывается и что покажет мониторинг. Такой маршрут сразу отделяет архитектурную идею от красивой схемы в презентации. Он быстро показывает, где цена разделения уже слишком высока и где монолит пока честнее. Заодно на нём проще увидеть цену поддержки до первого серьёзного инцидента.

Шаг 01

Взять один монолитный сценарий

Например, заказ, оплату, каталог или уведомление, где уже видны отдельные зоны ответственности.

Шаг 02

Найти границу сервиса

Понять, какие данные и правила должны принадлежать будущему сервису, а какие остаются снаружи.

Шаг 03

Описать контракт

Сформулировать HTTP API или событие так, чтобы соседним сервисам не нужны были внутренние детали реализации.

Шаг 04

Проверить отказ

Разобрать, что произойдёт при тайм-ауте, повторном запросе, недоступной базе или ошибке соседнего сервиса.

Шаг 05

Добавить наблюдаемость

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

Частые вопросы

Вопросы и ответы

Когда микросервисы правда нужны?

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

Чем микросервисы отличаются от монолита?

Монолит собирают и выпускают как одну систему. В микросервисах части продукта живут отдельными процессами и общаются по сети. Это даёт независимость, но приносит контракты, таймауты, трассировку и более сложную диагностику. То есть свобода здесь всегда идёт рядом с новой ценой.

Почему здесь так важны контракты?

Контракт — это граница доверия между сервисами. Если команда меняет поле или смысл ответа без согласования, ломается не один вызов, а цепочка зависимых систем. Поэтому здесь важны версии, обратная совместимость и понятные правила изменения API. Без этого независимый выпуск быстро становится хаотичным.

Зачем нужны логи, метрики и трассировка?

Запрос пользователя часто проходит через несколько сервисов подряд. Без журналов и трассировки команда видит только общий сбой на входе. Наблюдаемость нужна не для красоты, а чтобы быстро понять, где именно сломалась цепочка. И кто должен чинить её первым.

Когда лучше оставить модульный монолит?

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

Какая ошибка встречается чаще всего?

Чаще всего сервисы выделяют слишком рано и режут не по границе домена, а по слоям или командам. В итоге код разъезжается по процессам, а зависимость между частями остаётся прежней. Такой распределённый монолит дороже, но почти не даёт реальной свободы.

Что такое микросервисы простыми словами?

Микросервисы — это способ собрать приложение из отдельных небольших сервисов, каждый со своей зоной ответственности, кодом и часто своей базой. Они общаются по сети через API, и любой можно обновить, не трогая соседей.

Чем микросервисы отличаются от монолита, если объяснять коротко?

В монолите весь код живёт одним куском и выпускается общим релизом. Микросервисы разбивают его на независимые части: каждую команда деплоит отдельно, но за независимость платит сетью, контрактами и распределёнными данными.

Когда компании стоит переходить на микросервисы?

Когда несколько команд мешают друг другу в одном релизе, а части системы нужно масштабировать по-разному. Порог входа высокий: junior-доля всего 7%, поэтому решение принимают под конкретную боль, а не под моду.

Когда микросервисы не нужны?

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

Как микросервисы общаются между собой?

Двумя способами: синхронно через REST или gRPC — запрос-ответ здесь и сейчас; и асинхронно через брокер сообщений вроде Kafka — сервис публикует событие, а получатель обрабатывает его позже. В вакансиях оба подхода встречаются одинаково часто.

Что такое API Gateway?

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

Нужна ли отдельная база каждому сервису?

Канонический подход — database per service: каждый сервис владеет своими данными, а соседи ходят к ним только через API. Это даёт независимость схемы и деплоя, но убирает общие транзакции — согласованность строят иначе.

Что такое Saga-паттерн?

Способ провести бизнес-операцию через несколько сервисов без общей транзакции. Шаги выполняются по цепочке, а при сбое запускаются компенсирующие действия, которые откатывают уже сделанное и возвращают систему в согласованное состояние.

Зачем в микросервисах Kafka?

Kafka стоит рядом с микросервисами в заметной доле вакансий: через неё сервисы обмениваются событиями асинхронно. Отправитель не ждёт получателя, пиковую нагрузку сглаживает очередь, а история событий позволяет пересобрать состояние.

Как связаны микросервисы и Kubernetes?

Kubernetes — постоянный сосед микросервисов в вакансиях: он запускает десятки сервисов, следит за их живучестью, перезапускает упавшие и масштабирует нагруженные. Микросервисы дробят приложение, а Kubernetes управляет этим парком в проде.

Сколько зарабатывают на микросервисах?

Зарплату определяет роль и грейд, а не сам навык; медиана по микросервисам — одна из самых высоких на рынке, актуальные цифры — в рыночном блоке этой страницы. Связки с gRPC и ClickHouse поднимают вилку ещё выше.

Нужны ли микросервисы джуну?

Как первый навык — нет: junior-позиций здесь мало, рынок смещён к senior. Сначала берут язык, SQL, REST API и одну базу, и уже поверх крепкой основы разбираются с распределёнными системами.

Что такое Service Mesh?

Слой, который управляет трафиком между сервисами внутри кластера: берёт на себя ретраи, таймауты, шифрование и метрики, вынося эту логику из кода сервисов. Нужен, когда сервисов становятся десятки.

Микросервисы — это сложно?

Сложность не в отдельном сервисе, а в связях между ними: сетевые сбои, распределённые данные, отладка запроса через пять сервисов. Skew к senior (8.4) и порог входа отражают именно эту эксплуатационную цену.

Как разбить монолит на микросервисы?

По границам предметной области (bounded context), а не по слоям кода. Обычно применяют Strangler Fig: рядом с монолитом растёт новый сервис, трафик на него переводят постепенно, а старую часть выключают.

Что такое распределённая транзакция?

Операция, которая меняет данные сразу в нескольких сервисах с их отдельными базами. Классический двухфазный коммит здесь блокирует цепочку, поэтому чаще выбирают Saga и согласованность в конечном счёте.

Зачем микросервисы системному аналитику?

Системный аналитик — главная роль по этому навыку в московских вакансиях. Он описывает границы сервисов, контракты API и события между ними, поэтому язык микросервисов нужен ему не меньше, чем разработчику.

Каковы плюсы и минусы микросервисов?

Плюс — независимый деплой и масштабирование команд и нагрузки по частям. Минус — сеть, очереди, распределённые данные и наблюдаемость, которые превращаются в постоянную эксплуатационную работу. Отсюда junior-доля 7%.

Сколько сервисов считается микросервисами?

Точного числа нет: смысл не в количестве, а в том, что каждый сервис отвечает за одну понятную область и выпускается независимо. Два-три сервиса с чёткими границами — уже микросервисы, сотня склеенных — нет.