Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: sync, async, rest, grpc, message broker

Как микросервисы взаимодействуют друг с другом?

Проверяет знание способов и протоколов межсервисного общения.

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

Микросервисы общаются синхронно через HTTP/REST или gRPC и асинхронно через брокеры сообщений (RabbitMQ, Kafka) и системы событий. Для синхронных вызовов используют API Gateway или сервис-дискавери, для асинхронных — публикуют события в топики и обрабатывают подписчики, что обеспечивает loose coupling и устойчивость к сбоям.

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

Синхронные вызовы:

  • REST/HTTP с JSON или gRPC с Protobuf.

  • API Gateway: маршрутизация, аутентификация, агрегация ответов.

  • Сервис-дискавери (Eureka, Consul) для динамического поиска адресов.

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

  • Message broker: очереди (RabbitMQ) и потоки (Kafka).

  • Event-driven: сервисы публикуют события («UserCreated»), другие реагируют.

Контракт и версия API:

  • Версионирование URL (/v1/users) или заголовков.

  • Swagger/OpenAPI для документирования и генерации клиентов.

Устойчивость:

  • Circuit Breaker (Resilience4j, Hystrix) для отказоустойчивости синхронных вызовов.

  • Retry и fallback-логика.

Трассировка:

  • Correlation ID в заголовках, распределённая трассировка (Jaeger, Zipkin).

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Java

    Java

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

#sync

#async

#rest

#grpc

#message broker

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