Встречается на 2% собеседований по Java

Что такое Push модель в брокерах сообщений

Push модель в брокерах сообщений — это подход, при котором брокер сам отправляет (проталкивает) сообщения потребителям, как только они становятся доступными. Это противоположность Pull модели, где потребители сами запрашивают сообщения.

Преимущества:

  • Низкая задержка, так как сообщения доставляются сразу.
  • Уменьшает нагрузку на клиента, так как не требует постоянных опросов.

Недостатки:

  • Риск перегрузки потребителя, если он не успевает обрабатывать сообщения.
  • Требует механизмов контроля скорости (backpressure).

Пример (Kafka Consumer с Push):

java
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("group.id", "test-group");
props.put("enable.auto.commit", "true");
props.put("auto.commit.interval.ms", "1000");
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.printf("offset = %d, key = %s, value = %s%n", record.offset(), record.key(), record.value());
    }
}

Хотя Kafka использует гибридный подход (клиент "поллит", но внутри это похоже на Push).

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

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

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

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