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

Какие знаешь сценарии распределения сообщений по партициям в Kafka

В Kafka есть несколько стратегий распределения сообщений по партициям:

  1. Round Robin – равномерное распределение (по умолчанию, если ключ не указан).

    java
    // Без ключа – round robin
    producer.send(new ProducerRecord<>("topic", "value"));
  2. Хэширование ключа – сообщения с одинаковым ключом попадают в одну партицию.

    java
    // С ключом – хэширование
    producer.send(new ProducerRecord<>("topic", "key", "value"));
  1. Кастомный Partitioner – можно реализовать интерфейс Partitioner.

    java
    public class CustomPartitioner implements Partitioner {
        @Override
        public int partition(String topic, Object key, byte[] keyBytes, 
                             Object value, byte[] valueBytes, Cluster cluster) {
            // Логика распределения
            return partitionNumber;
        }
    }
  2. Фиксированная партиция – явное указание партиции.

    java
    producer.send(new ProducerRecord<>("topic", 2, "key", "value"));

Выбор зависит от требований к порядку сообщений и нагрузке.

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

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

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

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