Что такое Kafka
Python
Senior
Без компании
Что такое Kafka
Ответы
Kafka — это распределённая потоковая платформа для обработки событий в реальном времени. Она работает как брокер сообщений, но оптимизирована для высокой пропускной способности и горизонтального масштабирования.
**Основные понятия:**
- **Топики (Topics)** — логические каналы для сообщений (например, `user_actions`).
- **Партиции (Partitions)** — топики делятся на партиции для параллельной обработки.
- **Producer/Consumer** — отправители и получатели сообщений.
- **Брокеры (Brokers)** — серверы Kafka, хранящие данные.
**Пример на Python (используя `confluent-kafka`):**
```
from confluent_kafka import Producer, Consumer
# Producer
producer = Producer({'bootstrap.servers': 'localhost:9092'})
producer.produce('test_topic', key='key', value='Hello Kafka!')
producer.flush()
# Consumer
consumer = Consumer({
'bootstrap.servers': 'localhost:9092',
'group.id': 'mygroup',
'auto.offset.reset': 'earliest'
})
consumer.subscribe(['test_topic'])
msg = consumer.poll(1.0)
print(msg.value())
```
**Плюсы Kafka:**
- Высокая отказоустойчивость (репликация).
- Поддержка потоковой обработки (Kafka Streams, Flink).
- Хранение сообщений (настраиваемый TTL).
Используется в микросервисах, логгировании, аналитике в реальном времени.