Рубрики
Без рубрики

Анатомия Разделе

Краткое описание того, как работает Раздел Кафка. Как обеспечить тиражирование и сортировки. С тегами apache kafka, java, tutorial, microservicos.

Углубление немного больше Кафки, должны понимать, что это Тема, и как он ведет себя. Топика это один из самых основных понятий в Кафка! Присутствует практически все.

О Разделе мы можем говорить:

  • Producer посылает сообщение в Теме.
  • Потребительских если есть один или более Разделов.
  • Темы могут быть подписаны по один или более Consumer .

С этого момента, мы должны установить некоторые имена. Когда мы говорим установки Кафка, речь broker Кафка, это означает, сервера или экземпляра. Эта broker является частью набора, который кластера Кафка. Кластера это набор брокеров , которые действуют, как если бы они были только. Данные являются частью кластера и могут быть на один или более broker .

Давайте посмотрим на создание Темы, чтобы попытаться понять больше:

.\bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

Учитывая выше линии, мы можем определить некоторые параметры для создания разделе:

  • bootstap-server : Даже уже, указанный в создании Consumer и Producer . Identitica в кластера , где будет создан раздел. Формируется ip : порта каждого broker отдельно по запятая.
  • partitions : Тема разбита на разделы. Они могут быть в той же broker или нет. Как правило, они распределяются между brokers .
  • replication-factor : минимальное Количество раз, что данные в этом разделе будут реплицированы. Если у вас есть коэффициент репликации выше, каждый раздел будет реплицирована в другой broker .

Мы можем таким образом определить, что Тема распределяется между разделами. Каждый раздел-это сохраняет часть сообщения, отправленные, эти, в свою очередь, распределяются между разделами в соответствии с ключом, связанный с ним.

Сообщения хранятся последовательно в пределах раздела, таким образом, каждое сообщение будет связана номер раздела и _offset. Это смещение является положение, сообщения в пределах раздела.

При создании темы, разделы же, которые распределены между borkers . Не обязательно все сообщения будут храниться вместе.

Каждое сообщение предпринимает только один раздел, это дистрибутив, основанный на ключ, связанный сообщение. Таким образом, сообщения с тем же ключом, будет в тот же раздел. Это важно!

Раздел это файл журнала. Когда брокер получает сообщение, оно добавляется в конец раздела. Это сообщение связано с смещением.

С тем, чтобы точно определить, где сообщение хранится, нужно соблюдать значения:

  • topic
  • partition
  • офсет

Все эти значения присутствуют в RecordMetadata и ConsumerRecord .

В Кафка, возможна репликация данных. Для этого нужно, существует, по крайней мере, брокера, настроить.

С помощью параметра replication-factor создание разделов, каждый раздел будет реплицирована на брокера-разному. Так, максимальное значение для данного параметра-это количество брокеров существующего.

Сообщения раздела будут отправлены только на одного потребителя, не будет более одного consumer раздела. Таким образом, сообщения от раздела, будут доставлены в хронологическом порядке.

Стоит напомнить, что Кафка не гарантирует упорядочение глобальной отправленных сообщений. Но, учитывая хороший выбор ключа из сообщения, можно обеспечить сортировку сообщений, связанные с ним.

Например, если мы потребляем доступ сообщения пользователей. Мы можем использовать идентификатор пользователя в качестве ключа, так что все сообщения от одного пользователя будут использоваться в хронологическом порядке, чтобы избежать ошибок согласованности данных.

Оригинал: “https://dev.to/vepo/anatomia-de-um-topico-25da”