Встречается на собеседованиях • сегодня

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

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

  1. HTTP/REST - синхронный вызов через REST API (чаще всего JSON)
java
// Feign Client пример
@FeignClient(name = "order-service")
public interface OrderServiceClient {
    @GetMapping("/orders/{id}")
    Order getOrder(@PathVariable Long id);
}
  1. Асинхронная коммуникация через брокеры сообщений (Kafka, RabbitMQ):
java
// Отправка сообщения в Kafka
kafkaTemplate.send("order-events", orderEvent);
  1. gRPC - бинарный протокол для высоконагруженных систем
  2. GraphQL - для сложных запросов с выборкой данных

Ключевые аспекты:

  • REST прост в реализации, но создает жесткие зависимости
  • Асинхронная коммуникация повышает отказоустойчивость
  • Необходимо предусматривать механизмы retry, circuit breakers (Hystrix/Resilience4j)
  • Важно согласование форматов данных (JSON Schema, Protobuf)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы