Этот вопрос проверяет знания о взаимодействии между микросервисами и их синхронных и асинхронных способах общения.
Сервисы могут общаться синхронно (например, через REST или gRPC) и асинхронно (через очереди, например, Kafka или RabbitMQ). Выбор зависит от требований к скорости отклика, надёжности и связности сервисов.
HTTP/REST — просто и понятно, но требует онлайн-доступности.
gRPC — быстрый, бинарный протокол с поддержкой типов.
Очереди сообщений — RabbitMQ, Kafka, Redis Streams.
Используются для событий и задач, не требующих немедленного ответа.
Повышают устойчивость и масштабируемость.
REST/gRPC — когда важна немедленная реакция.
Очереди — когда важно сохранить нагрузку и уменьшить связность.
Вывод:
Чем меньше связаны сервисы напрямую, тем легче масштабировать систему. Асинхронность особенно полезна в high-load сценариях.