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

В каком случае лучше использовать очереди для взаимодействия между микросервисами

Очереди (например, Kafka, RabbitMQ) идеальны для асинхронного взаимодействия, когда:

  1. Нужна отказоустойчивость – сообщения сохраняются, даже если сервис временно недоступен.
  2. Требуется масштабируемость – обработчики могут потреблять сообщения параллельно.
  3. Допустима задержка – обработка не требует мгновенного ответа.
  4. Есть пиковые нагрузки – очередь буферизирует запросы, предотвращая перегрузку.

Пример с RabbitMQ:

java
// Producer
channel.queueDeclare("orders", false, false, false, null);
channel.basicPublish("", "orders", null, "New order".getBytes());

// Consumer
DeliverCallback callback = (consumerTag, delivery) -> {
    String message = new String(delivery.getBody(), "UTF-8");
    System.out.println("Processed: " + message);
};
channel.basicConsume("orders", true, callback, consumerTag -> {});
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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