Veltos.Tech

Разработка

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

Также называют: микросервисная архитектура, микросервисы или монолит

Определение

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

Ключевое свойство микросервисов — не размер, а независимость. Сервис считается отдельным, если его можно выкатить, не трогая остальные, если у него своя ответственность и своё хранилище данных. Отсюда и типичное деление: каталог, заказы, платежи, уведомления, поиск. Взаимодействуют они либо синхронно через HTTP или gRPC, либо асинхронно через брокер сообщений вроде Kafka или RabbitMQ, что надёжнее для событий и хуже для сценариев «нужно прямо сейчас и с ответом».

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

Плата за это — сложность, и её систематически недооценивают. Сетевые вызовы падают и тормозят, транзакция теперь распределённая, консистентность становится согласованностью «в конечном счёте», а отладка требует сквозной трассировки, потому что ошибка видна в одном сервисе, а причина — в третьем. Нужны CI/CD, оркестрация контейнеров, централизованные логи и метрики, дежурства. Для команды из трёх-пяти человек всё это чаще всего означает, что половина сил уходит на инфраструктуру вместо продукта: в таком составе правильный ответ — хорошо разделённый монолит.

Смежные термины

Услуги по теме

Почитать подробнее

Нужна помощь с этим на практике?

Мы не только объясняем термины, но и делаем это руками. Опишите задачу — разберём и пришлём смету по этапам.