Я новичок в kafka, так извиняюсь, если я говорю глупо, но то, что я понял до сих пор is.. Поток сообщения может быть определен как тема, например категория. И каждая тема делится в один или несколько разделов (каждый раздел может иметь несколько реплик). поэтому они действуют параллельно
На главном сайте Kafka говорится:
Производитель может выбрать, какое сообщение назначить для какого раздела в теме. Это можно сделать круговым способом просто для балансировки нагрузки, или это можно сделать в соответствии с некоторой функцией семантического разбиения (например, на основе некоторого ключа в сообщении).
Означает ли это, что во время потребления я смогу выбрать смещение сообщения из определенного раздела? При запуске нескольких разделов можно выбрать один конкретный раздел i.e partition 0?
В Kafka 0.7 быстрый старт говорят
Отправьте сообщение с помощью ключа раздела. Сообщения с одним и тем же ключом отправляются на один и тот же раздел.
И ключ может быть предоставлен при создании производителя ниже
ProducerData<String, String> data = new ProducerData<String, String>("test-topic", "test-key", "test-message");
producer.send(data);
Теперь, как я могу использовать сообщение на основе этого ключа? каково фактическое влияние использования этого ключа при производстве в Кафке?
При создании производителя в 0.8beta мы можем предоставить атрибут класса разделителя через файл конфигурации. Пользовательский класс разделителей может быть, возможно, создан, реализуя интерфейс kafka-разделитель. Но мало что смущает, как именно это работает. 0.8 док также не объясняет многое. Любой совет или я что-то не хватает?