Что такое 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). Используется в микросервисах, логгировании, аналитике в реальном времени.