Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: microservices, communication

Какие бывают транспорты между микросервисами (синхронный подход (REST, gRPC) и асинхронный (kafka, rabbitMQ, NATS))

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

Короткий ответ

Для коммуникации микросервисов используются синхронные (REST, gRPC) и асинхронные (Kafka, RabbitMQ, NATS) транспорты. Синхронные требуют immediate response, асинхронные используют message brokers для декаплингования сервисов.

Длинный ответ

Коммуникация между микросервисами — критический аспект распределенных систем. Существует два основных подхода:

Синхронная коммуникация:

  • Клиент ожидает immediate response от сервиса

  • REST/HTTP — простой, человекочитаемый, на основе HTTP

  • gRPC — высокопроизводительный, бинарный, на основе HTTP/2

  • Подходит для request-response сценариев

Асинхронная коммуникация:

  • Сервисы обмениваются сообщениями через брокер

  • Kafka — высокопроизводительный, persistence, replayability

  • RabbitMQ — AMQP, гибкая маршрутизация, acknowledged delivery

  • NATS — легковесный, high-throughput, persistence optional

  • Подходит для event-driven архитектур

Примеры использования:

// Синхронный REST вызов
axios.get('http://user-service/users/123')

// Асинхронная отправка сообщения
kafkaProducer.send({
    topic: 'order-created',
    messages: [{ value: JSON.stringify(order) }]
})

Выбор транспорта зависит от:

  • Требований к производительности

  • Необходимости гарантированной доставки

  • Сложности реализации

  • Требований к масштабируемости

  • Аватар

    Node.js Guru

    Demetra

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    1

  • Сложность:

    7

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#microservices

#communication

Подпишись на Node.js Developer в телеграм

  • Аватар

    Node.js Guru

    Demetra

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.