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