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

Приведи пример взаимодействия между микросервисами с помощью очередей

Взаимодействие между микросервисами через очереди (например, RabbitMQ или Kafka) обеспечивает асинхронность и отказоустойчивость. Пример с RabbitMQ и Spring AMQP:

Producer:

java
@Service
public class OrderProducer {
    @Autowired
    private RabbitTemplate rabbitTemplate;

    public void sendOrder(Order order) {
        rabbitTemplate.convertAndSend(
            "orders.exchange", 
            "orders.routingKey", 
            order
        );
    }
}

Consumer:

java
@Service
public class PaymentConsumer {
    @RabbitListener(queues = "orders.queue")
    public void processOrder(Order order) {
        // Обработка заказа
        processPayment(order);
    }
}

Конфигурация (application.yml):

yaml
spring:
  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest

Ключевые преимущества:

  • Асинхронность (сервисы не блокируют друг друга)
  • Устойчивость к отказам (сообщения сохраняются в очереди)
  • Масштабируемость (можно запускать несколько потребителей)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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