Skip to main content

Kafka: введение

Сообщение

  • Ключ - метаданные для управления записью сообщения в разделы
  • Схема - способ разобрать сообщение. Может быть JSON, XML, Apache Avro
  • Смещение - точка считывания, добавляется Kafka

Topic - центр объединения данных. 

Иерархия распределения данных: Topic - Partition - message. Каждая partition связана с одним единственным потребителю (consumer). Упорядочиваются в пределах Partition. 

  • Сообщение одной partition не может поступать нескольким consumer в пределах группы

 

Производители

Потребители

Могут объединяться в группы. Чтение каждого раздела только одним членом группы. Групп может быть много. Если в одной группе consumer больше чем partition то оставшиеся простаивают. Принадлежность - какой раздел какому потребителю. 

Брокер

Отдельный сервер Kafka - брокер. Объединяются в кластер, один из брокеров - контроллер. Если раздел нескольким брокерам, то происходит репликация. Основной брокер - ведущий. Механизмы репликации только в пределах одного кластера. MirrorMaker - репликация между кластерами. 

broker.id Целочисленный идентификатор, с 0, уникальный.
listeners

протокол://имя_хоста:порт Перечисляются через запятую. Имя хоста: конкретный ip - соответствующий интерфейс, 0.0.0.0 - все интерфейсы, не указан - интерфейс по умолчанию. Протокол: PLAINTEXT, SSL

Если порт менее 1024 то Kafka от имени root,

log.dirs Директории размещения логов. 


Python: kafka-python