# Исходный код вики Компоненты

Редактировал(а) Alexandr Fokin 2023/01/11 15:18

Последние авторы

author | version | line-number | content
--- | --- | --- | ---
|  | 1 | |(% style="width:180px" %)**Message**|(% style="width:1302px" %)Представляет из себя набор Key-Value значений.
|  | 2 | Обычно может содержать уникальный идентификатор Id.
|  | 3 | |(% style="width:180px" %)**Producer**|(% style="width:1302px" %)Клиент производитель сообщений
|  | 4 | |(% style="width:180px" %)**Consumer**|(% style="width:1302px" %)Клиент потребитель сообщений
|  | 5 | |(% style="width:180px" %) |(% style="width:1302px" %)
|  | 6 | |(% style="width:180px" %)**Topic**|(% style="width:1302px" %)Содержит внутри себя одну и более __Partition__. Кол-во __Partition__ определяет максимальную степень [[параллелизма>>doc:Разработка.NET.C#.Многопоточность и асинхронность.Параллелизм.WebHome]] при потреблении сообщений.
|  | 7 | При отправке сообщение в топик, для него выбирается один из __Partition__, в который и размещается сообщение.
|  | 8 | После потребления сообщения оно не удаляется сразу и некоторое время продолжает храниться и доступно для чтения (Определяется конфигурацией).
|  | 9 | |(% style="width:180px" %)**Partition**|(% style="width:1302px" %)Представляет из себя очередь, содержащую последовательность экземпляров сообщений, при этом у каждого сообщения есть свой уникальный числовой порядковый номер.
|  | 10 | Для каждого читаемого __Partition__ у потребителя храниться значение __Offset__ - смещение, порядковый номер текущего сообщения. После прочтения __Offset__ увеличивается на 1.
|  | 11 | |(% style="width:180px" %)**ConsumerGroup**|(% style="width:1302px" %)Consumers, находящиеся в разных __ConsumerGroup__, читают данные параллельно и независимо друг от друга (Получают одни и те же сообщения).
|  | 12 | В рамках одной __ConsumerGroup __кол-во активных __Consumer__ не может быть больше чем кол-во __Partition__ в рамках одного __Topic__.
|  | 13 | \\Каждому активному __Consumer__ назначается 1 и более __Partition__ для чтения данных.
|  | 14 | Неактивные Consumer выполняет роль резервных и будут подключены автоматически, если один из активных Consumer выйдет из строя. (Или если количество Partition будет увеличено).
|  | 15 | |(% style="width:180px" %)**Offset**|(% style="width:1302px" %)Смещение.
|  | 16 | Содержит информации о текущей позиции читателя для каждой пары <TopicName>.<PartitionId>.<ConsumerGroupId>
|  | 17 |
|  | 18 |

## Приложения