Мартовский Код

Apache Kafka

Apache Kafka — это распределённая платформа для потоковой обработки данных. В отличие от классических очередей (RabbitMQ), Kafka хранит все события в логе и позволяет перечитывать их. Это как журнал регистрации: вы записываете каждое событие, и любой сервис может прочитать историю с любого момента.

Kafka была создана в LinkedIn для обработки миллиардов событий в день: клики, просмотры, лайки. Сейчас её используют Netflix, Uber, Airbnb, Spotify — везде, где нужно обрабатывать огромные потоки данных в реальном времени.

Ключевое отличие от RabbitMQ: в RabbitMQ сообщение после обработки удаляется. В Kafka — сохраняется. Это означает, что вы можете подключить новый сервис аналитики и «прочитать» все события за последний месяц, не затрагивая остальные сервисы. Или пересчитать данные после исправления бага.

Kafka работает с топиками (topics) — именованными потоками данных. Каждый топик разбит на партиции для параллельной обработки. Kafka легко масштабируется горизонтально: добавляете брокеры — пропускная способность растёт линейно. Типичная Kafka обрабатывает миллионы сообщений в секунду.

Ключевые преимущества

  • Хранит все события в логе — можно перечитать историю
  • Миллионы сообщений в секунду — горизонтальное масштабирование
  • Event sourcing: полная история изменений системы
  • Потоковая обработка данных в реальном времени
  • Стандарт для аналитики, data pipeline и интеграции сервисов

Примеры

Data pipeline: все действия пользователей (клики, покупки, просмотры) попадают в Kafka, откуда их читают сервис аналитики, рекомендательная система и fraud-detection. Event sourcing: вместо обновления строки в базе вы записываете событие «заказ изменён», сохраняя полную историю. Real-time дашборд: менеджер видит продажи в реальном времени, данные идут через Kafka Streams.

Когда это нужно

Kafka нужна, когда: объём событий — сотни тысяч в секунду, нужна полная история событий (event sourcing), несколько потребителей читают одни и те же данные, требуется real-time аналитика, вы строите data pipeline для ML или BI.

Связанные термины

Частые вопросы

Kafka сложнее RabbitMQ?

Да, порог входа выше. Kafka требует ZooKeeper (или KRaft в новых версиях), настройки партиций, репликации. Для простых очередей задач RabbitMQ проще и дешевле. Kafka оправдана при больших объёмах данных, потребности в event sourcing или когда несколько сервисов должны читать одни и те же события.

Сколько стоит Kafka в продакшене?

Self-hosted: 3+ сервера, минимум 8 ГБ RAM каждый — от $200/мес. Управляемые решения (Confluent Cloud, AWS MSK): от $300/мес. Для стартапа с 1000 событий/сек — дорого и избыточно. Для сервиса с 100 000+ событий/сек — окупается через надёжность и масштабируемость.

Можно ли использовать Kafka как основную базу данных?

Технически — нет. Kafka хранит события, но не поддерживает произвольные запросы (SELECT WHERE). Паттерн CQRS + Event Sourcing: Kafka хранит лог событий, а «проекции» в PostgreSQL или Elasticsearch дают возможность запрашивать данные. Kafka — источник правды, базы данных — удобные «представления».

Где это применяется

DevOps и облачная инфраструктура

Строим инфраструктуру, на которой продукт не падает: CI/CD и деплой в одну кнопку, мониторинг с алертами раньше клиента, Kubernetes только там, где он оправдан, миграция в облако без остановки прода. Базовый контур — от 200 000 ₽ за 2–3 недели, аудит инфраструктуры и демо-пайплайн бесплатно за 3–5 дней. В боевой контур не заходим до договора.

Как мы это делаем

Разобраться, нужен ли вам apache kafka

Проекты — от 130 000 ₽, прототип бесплатно

Опишите задачу в двух предложениях — за 48 часов вернём письменный разбор: какая технология её закрывает, какая будет лишней тратой и в какую вилку бюджета это укладывается. Разбор остаётся у вас в любом случае.

Если задачу закрывает готовая коробка — так и скажем. Комиссий от вендоров не берём.

Продолжите изучение

Читайте также

Услуга

От 200К · 5 дней

Веб-приложения

Создаём веб-приложения: личные кабинеты, B2B-порталы, дашборды. Next.js, React, интеграция с 1С и CRM. От 200К, кликабельный прототип — бесплатно за 5 дней.

Подробнее
Глоссарий

Микросервисы

Микросервисы — архитектура из независимых модулей, каждый со своей БД. Масштабируются автономно, ускоряют релизы и снижают риски. Когда выбрать монолит.

Подробнее
Глоссарий

RabbitMQ

RabbitMQ — брокер сообщений с протоколом AMQP: очереди, обменники, маршрутизация, надёжная доставка. Сценарии асинхронной обработки, отличие от Apache Kafka.

Подробнее
Глоссарий

Elasticsearch

Elasticsearch — поисковый и аналитический движок на инвертированных индексах. Полнотекстовый поиск, аналитика логов, агрегации. Стек ELK, примеры внедрений.

Подробнее