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

Как управлять приоритетами с помощью Kafka

В Kafka приоритеты можно эмулировать через разделение топиков или партиций. Основные подходы:

  1. Разные топики по приоритетам
    Создаем high-priority и low-priority топики. Консьюмеры сначала обрабатывают high-priority:
    java
    consumer.subscribe(Arrays.asList("high-priority", "low-priority"));
  1. Партиционирование по приоритетам
    Используем ключ сообщения для партиционирования:

    java
    // Producer
    record.partition(priority); // 0 - high, 1 - normal, 2 - low
  2. Single-topic с приоритетным полем
    Добавляем поле priority в сообщение, консьюмер сортирует:

    java
    records.sort(Comparator.comparing(record -> record.value().getPriority()));

Важно: Kafka не поддерживает настоящие приоритеты на уровне брокера, только эмуляцию. Для строгих приоритетов лучше рассмотреть RabbitMQ с Priority Queues.

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

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

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

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