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

Что такое Message Broker

Message Broker — это промежуточное ПО, обеспечивающее обмен сообщениями между приложениями, системами или сервисами. Он действует как посредник, принимая, храня и маршрутизируя сообщения, обеспечивая асинхронную коммуникацию.

Ключевые особенности:

  • Асинхронность: отправитель и получатель не должны быть активны одновременно.
  • Очереди и топики: поддерживает модели point-to-point (очереди) и publish-subscribe (топики).
  • Надежность: гарантирует доставку, персистентность, обработку ошибок.

Пример с Apache Kafka:

java
// Producer
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");

Producer<String, String> producer = new KafkaProducer<>(props);
producer.send(new ProducerRecord<>("test-topic", "key", "value"));
producer.close();

// Consumer
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("group.id", "test-group");
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");

KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
consumer.subscribe(Collections.singletonList("test-topic"));
while (true) {
    ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100));
    for (ConsumerRecord<String, String> record : records) {
        System.out.println(record.value());
    }
}

Популярные брокеры: RabbitMQ, Apache Kafka, ActiveMQ, Amazon SQS.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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