Компоненты
Редактировал(а) Alexandr Fokin 2023/01/11 15:18
Message | Представляет из себя набор Key-Value значений. Обычно может содержать уникальный идентификатор Id. |
Producer | Клиент производитель сообщений |
Consumer | Клиент потребитель сообщений |
Topic | Содержит внутри себя одну и более Partition. Кол-во Partition определяет максимальную степень параллелизма при потреблении сообщений. При отправке сообщение в топик, для него выбирается один из Partition, в который и размещается сообщение. После потребления сообщения оно не удаляется сразу и некоторое время продолжает храниться и доступно для чтения (Определяется конфигурацией). |
Partition | Представляет из себя очередь, содержащую последовательность экземпляров сообщений, при этом у каждого сообщения есть свой уникальный числовой порядковый номер. Для каждого читаемого Partition у потребителя храниться значение Offset - смещение, порядковый номер текущего сообщения. После прочтения Offset увеличивается на 1. |
ConsumerGroup | Consumers, находящиеся в разных ConsumerGroup, читают данные параллельно и независимо друг от друга (Получают одни и те же сообщения). В рамках одной ConsumerGroup кол-во активных Consumer не может быть больше чем кол-во Partition в рамках одного Topic. Каждому активному Consumer назначается 1 и более Partition для чтения данных. Неактивные Consumer выполняет роль резервных и будут подключены автоматически, если один из активных Consumer выйдет из строя. (Или если количество Partition будет увеличено). |
Offset | Смещение. Содержит информации о текущей позиции читателя для каждой пары <TopicName>.<PartitionId>.<ConsumerGroupId> |