Что это
Платформа потоковой передачи событий: хранит записи в топиках и раздаёт их нескольким потребителям.
Kafka нужна там, где событие должно пережить не один вызов между сервисами, а целую цепочку читателей. Обычно это платежи, заказы, логи, продуктовые события и потоковые интеграции, которые нельзя держать на прямом HTTP.
Kafka передаёт не разовые команды, а поток событий. Сервис пишет событие в topic, Kafka хранит его, а разные consumer group читают его в своём темпе. Поэтому Kafka ближе к журналу событий, чем к обычной очереди задач.
Рабочий навык начинается там, где нужно понять partition, offset, lag и цену плохой схемы. Без этого поток быстро превращается в шум и задержки. Важна не одна доставка сообщения. Важно и то, как событие переживает повторное чтение, сбой потребителя и рост нагрузки. Тогда Kafka перестаёт быть словом из архитектурной схемы и становится системой, за которой следят каждый день.
Платформа потоковой передачи событий: хранит записи в топиках и раздаёт их нескольким потребителям.
Нужна там, где системы обмениваются событиями: заказы, платежи, логи, интеграции и потоковая обработка.
Помогает развязать сервисы, передавать события без прямых HTTP-вызовов и управлять скоростью обработки потока.
Kafka — распределённая платформа потоковых событий: сервисы пишут в неё поток сообщений, а Kafka хранит его на диске и отдаёт разным потребителям в их темпе. Это не разовая очередь задач, а журнал событий, который можно перечитать с любого места. Один продюсер пишет — десятки consumer group читают независимо, не мешая друг другу.
Topic, partition, offset, consumer group и срок хранения событий. Без этого легко потерять смысл всей схемы.
Там, где события читают несколько систем и поток нельзя терять. Особенно если сбой бьёт сразу по нескольким контурам.
Kafka полезна там, где событие нужно сохранить, доставить нескольким независимым потребителям и не потерять при пике нагрузки или временной остановке сервиса.
Производитель публикует событие
Сервис-источник записывает событие в топик. Важно заранее понимать ключ, полезную нагрузку, схему и бизнес-смысл записи.
Топик делится на партиции
Партиция позволяет масштабировать запись и чтение. Порядок гарантируется внутри партиции, а не по всему топику сразу.
Брокер хранит журнал
Kafka хранит записи как журнал только с добавлением и сроком хранения, поэтому потребитель может читать поток со своего смещения.
Группа потребителей читает поток
В одной группе потребителей партиции распределяются между экземплярами. Несколько групп могут независимо читать один и тот же топик.
Отставание показывает задержку чтения
Если потребитель не успевает, растёт отставание. Это операционный сигнал: нужно разбираться с нагрузкой, партициями, обработкой или ошибками.
Kafka переносится между ролями: Системный аналитик, Java-разработчик, DevOps-инженер. В одном треке этот навык может быть основным рабочим инструментом, а в другом - сильным прикладным усилителем основной специализации.
Системный аналитик держит 85.9% вакансий по навыку.
Ещё 7 ролей используют Kafka
Текущий срез показывает активные вакансии сейчас. Распределение по ролям рассчитано по расширенной исторической выборке, поэтому значения могут быть выше текущего количества активных вакансий.
Kafka ценен не абстрактным знанием инструмента, а повторяющимися рабочими задачами — ниже они разобраны так, как встречаются в реальной работе.
Подключить сервис к потоку
Подключить сервис к событийному потоку и корректно обработать контракт события на стороне производителя и потребителя.
Разобрать отставание
Разобраться, почему потребитель отстаёт, растёт задержка чтения или теряются сообщения при ошибках.
Собрать асинхронный обмен
Построить асинхронный обмен между сервисами вместо хрупкого синхронного API-вызова.
Проверить порядок обработки
Проверить порядок обработки событий и влияние партиций на бизнес-логику.
Передать поток дальше в аналитику
Передать поток данных дальше в аналитическую систему или платформу данных без потери схемы и совместимости.
Поддерживать событийную платформу
Настроить наблюдаемость и операционный контроль за жизнью топиков и групп потребителей.
Считать Kafka просто очередью и не понимать событийную модель и смещения.
Игнорировать отставание, порядок обработки и семантику доставки, пока проблема не проявится в рабочей среде.
Использовать Kafka там, где достаточно простого синхронного API или более лёгкой очереди.
Учить термины без живого сценария с производителем, потребителем и диагностикой потока.
Kafka стала базовым словом там, где компании строят событийные контуры, аналитику почти без задержки и интеграции между сервисами. Но рынок ценит не сам бренд. Нужен человек, который умеет думать о схеме события, ключе, consumer group и lag. Иначе поток быстро начинает тормозить и путать команды. Навык особенно заметен у серверных разработчиков, инженеров данных и платформенных инженеров. Чем важнее для бизнеса своевременная обработка событий, тем выше цена ошибки в этом слое. Ошибка в таком контуре быстро размножается на несколько систем сразу. Поэтому здесь ценят и проектирование, и спокойную эксплуатацию. И ценят умение держать поток предсказуемым.
Kafka нужен там, где важно быстро проверить гипотезу, сверить метрику или подготовить данные для следующего шага.
Такой навык редко живёт в одной профессии: он остаётся полезным в аналитике, продукте, разработке и соседних data-сценариях.
Инструменты вокруг меняются, но сама задача не исчезает, поэтому Kafka продолжает удерживать прикладной спрос.
Kafka держится в верхнем слое рынка как рабочий навык, а не как узкая специализация.
Kafka сейчас входит в верхний слой спроса на рынке: 1 233 активных вакансий, #10 по рынку, 17.6% IT-вакансий. Ниже показано число открытых вакансий на конец каждого месяца: это исторический ряд по состоянию на конец месяца, а не текущий срез рынка на сегодня.
#10 по рынку • 17.6% IT-вакансий
-104 вакансий и -6% к предыдущему месяцу.
Рынок Kafka смещён к senior: junior-вакансий мало, а медиана — одна из самых высоких на рынке. Kafka почти не берут в одиночку: связка с Airflow заметно поднимает вилку. Актуальные цифры — в рыночном блоке этой страницы.
321 вакансий с зарплатой в расширенной зарплатной выборке
Middle → Senior
Senior - основной уровень рынка (61%)
Kafka редко живёт изолированно: чаще всего рынок видит его рядом с PostgreSQL, SQL, Kubernetes. Самая плотная связка сейчас - PostgreSQL: оба навыка встречаются вместе в 64% вакансий.
Главная связка: PostgreSQL • 64% вакансий. Показываем общерыночные связки Kafka: не junior-минимум из блока выше, а навыки, которые чаще всего встречаются рядом с ним в одной вакансии.
навыки, которые рынок чаще всего видит рядом в одной вакансии
не базовый минимум, а более сильные комбинации стека
Сейчас на рынке 47 активных junior-вакансий с Kafka. Это 4.4% всех вакансий по навыку, поэтому для старта важнее всего смотреть на реальный объём junior-окна и на стек, который рынок ждёт рядом.
4.4% всех вакансий по навыку • Senior / Junior 13.8x
Окно входа узкое: рынок чаще нанимает с опытом.
Медианная вакансия с Kafka ожидает около 17 навыков в стеке. Это широкий стартовый набор: рынок обычно ищет не один изолированный инструмент, а рабочую комбинацию соседних навыков.
навыки из junior-вакансий, где встречается Kafka
Выбор между Kafka, RabbitMQ, NATS, Redis Streams и REST зависит от формы обмена, требований к повторному чтению, пропускной способности, задержке и операционной сложности.
Журнал событий и потоковая платформа.
Когда нужен retention и несколько независимых читателей.
Требует схем, наблюдаемости и аккуратной модели обработки.
Классический брокер очередей.
Когда важны маршрутизация, ack и task queue сценарии.
Не про долгий журнал событий и широкое повторное чтение.
Синхронный обмен запрос-ответ.
Когда клиенту нужен немедленный результат операции.
Плохо подходит для тяжёлого событийного потока.
Быстрый обмен сообщениями с меньшим весом.
Когда поток проще и эксплуатация должна быть легче.
Не всегда закрывают Kafka-сценарии по ретеншну и масштабу.
Kafka нужна там, где события идут постоянно, читателей несколько, а прямые вызовы между системами становятся хрупкими. Поэтому её любят платформы данных, серверная разработка и событийная архитектура.
Когда события должны жить дольше одного запроса и читаться многими.
Когда поток уходит в DWH, lakehouse или витрины почти сразу.
Когда важны порядок, ретеншн и повторная обработка потока.
Когда прямой API-вызов уже мешает масштабированию и устойчивости.
Kafka заметен в 5 направлениях рынка с долей выше 5%.
Kafka закрывает не только доставку сообщения. Она даёт журнал событий, независимое чтение, ретеншн и связь с системами данных.
Сервисы публикуют события в топик, а несколько групп потребителей читают их независимо.
Записи сохраняются на заданный срок, поэтому потребитель может восстановить чтение или перечитать участок потока.
Партиции дают параллелизм, масштабирование и порядок внутри ключевого участка потока.
Группа потребителей делит работу по партициям и позволяет масштабировать обработку.
Kafka Connect помогает передавать данные между Kafka и внешними системами: базами, DWH, поиском, объектным хранилищем.
Kafka Streams и соседние движки позволяют обрабатывать поток событий до попадания в витрины или сервисы.
Kafka часто называют очередью, но её рабочая модель шире: событие хранится в журнале и может быть прочитано несколькими независимыми потребителями.
Классическая очередь чаще отдаёт задачу одному исполнителю. Kafka хранит поток событий, где разные группы потребителей могут читать одну историю независимо.
RabbitMQ часто выбирают для очередей задач, маршрутизации и сценариев с запросами и повторными попытками. Kafka сильнее в потоковой передаче событий, журнале с высокой пропускной способностью и...
REST API обычно синхронный: запрос ждёт ответ. Kafka асинхронна: производитель записывает событие, а потребитель обрабатывает его своим темпом.
Kafka часто становится транспортным слоем между рабочими системами, DWH, ClickHouse, потоковой обработкой и аналитическими витринами.
Kafka стоит между источниками событий и системами, которые их читают дальше. Поэтому при диагностике смотрят не только код producer или consumer. Проверяют topic, partition, key, offset, lag, retention, схему сообщения и скорость обработки. Один плохой ключ может перекосить нагрузку. Одна небрежная правка схемы может уронить старого потребителя. Рабочий навык здесь начинается с понимания потока как системы, а не как очередного брокера в стеке.
Сервисы публикуют доменные события: заказ создан, платёж прошёл, статус изменился, профиль обновлён.
Kafka доставляет поток дальше в DWH, ClickHouse, Spark, Flink, lakehouse или процесс машинного обучения.
События помогают отвязать системы друг от друга, когда прямой API-вызов слишком хрупкий или медленный.
Для зрелого контура нужен контроль схемы события, совместимость версий и понятная эволюция контракта.
Отставание потребителей, пропускная способность, доля ошибок, перебалансировка и состояние брокеров должны быть видны команде до инцидента.
Kafka помогает связать сервисы, но не исправляет плохие доменные границы и слабый контракт между системами.
Для маленького сервиса без событийной нагрузки Kafka может быть избыточной сложностью.
Kafka передаёт поток, но хранение и аналитическая обработка часто живут в смежных системах.
Без понимания отставания, наблюдаемости и поведения рабочего потока тема быстро остаётся теорией.
Перспективы Kafka завязаны не только на текущем спросе, но и на том, как навык встраивается в новые платформы, инструменты и рабочие контуры.
Пока компании строят событийные платформы и потоковую обработку, спрос на Kafka-подход сохраняется.
Важно не просто знать топик и потребителя, а уметь владеть потоком данных как рабочей системой.
Инструменты помогут с шаблонами, но семантика доставки и событийный дизайн останутся инженерной задачей.
Поднимите одиночный брокер Kafka через docker-compose в режиме KRaft, создайте топик и прогоните его консольными producer и consumer. Первый артефакт, на котором виден весь путь события.
Напишите продюсера, который шлёт события заказа в топик с ключом по client_id. Поиграйте с acks и идемпотентностью, посмотрите, как ключ раскладывает записи по партициям.
Соберите консьюмер в consumer group, запустите два инстанса и убедитесь, что партиции поделились между ними. Погасите один — увидите ребаланс вживую.
Спроектируйте топики для оформления заказа: orders, payments, notifications. Опишите ключи, число партиций и retention — ровно та задача, что решает системный аналитик.
Настройте поток изменений из PostgreSQL в Kafka через Debezium (CDC) и вычитайте его консьюмером. PostgreSQL идёт рядом с Kafka в 66% московских вакансий, так что связка ближе всего к реальной работе.
Поднимите метрики и дашборд по lag потребителей, сгенерируйте отставание, притормозив консьюмер. Умение читать lag отделяет того, кто подключил библиотеку, от того, кто держит поток.
Учить Kafka проще после базы в серверной разработке или инженерии данных. Сначала полезно поднять один простой поток: producer, topic и consumer. Потом добавить partition, несколько читателей и задержку обработки, чтобы увидеть lag вживую. Такой сценарий сразу показывает, зачем нужны offset и retention. Если начать с большого кластера и десятков терминов, тема быстро расползается. Kafka лучше понимается через один живой поток, который можно намеренно сломать и починить. Тогда каждое новое слово сразу связывается с реальной проблемой. И становится ясно, где цена ошибки особенно высока. Так теория держится на практике, а не на абстракциях.
База
Производитель, потребитель, топик, партиция, смещение и простой сценарий передачи сообщений между сервисами.
Рабочая практика
Группа потребителей, повторные попытки, очередь ошибок, порядок обработки, отставание и диагностика потока в рабочей среде.
Рабочая эксплуатация
Срок хранения, эволюция схемы, Kafka Connect, мониторинг, безопасность и эксплуатация кластера.
Смежный стек
Микросервисы, ClickHouse, потоковая обработка, Kubernetes, наблюдаемость и платформенная разработка.
Соответствие — доля тем навыка, которые охватывает программа курса
Первый нормальный старт — взять один тип события и провести его целиком. Пусть сервис пишет запись в topic, а отдельный consumer читает её и пишет результат в лог или базу. Потом можно поменять ключ, задержать обработку и посмотреть, как растёт lag. После такого шага слова partition и consumer group уже не висят в воздухе. Только потом имеет смысл идти в Connect, Schema Registry и сложные production-сценарии. Так база собирается на практике, а не на одних определениях. И сразу видно, где поток ведёт себя хрупко.
Используйте Docker Compose или готовый локальный стенд. Цель — увидеть топик, производителя и потребителя руками, а не сразу строить платформу.
kafka-topics --bootstrap-server localhost:9092 --create --topic orders --partitions 3 Задайте партиции осознанно и проверьте, как ключ влияет на распределение событий.
Отправьте события с ключом и значением, затем проверьте, в какую партицию они попали и в каком порядке читаются.
Добавьте два потребителя в одну группу и посмотрите, как партиции распределяются между экземплярами.
Остановите потребителя, продолжите писать события и посмотрите, как растёт отставание. Это базовая операционная диагностика Kafka.
Kafka обычно изучают по документации и коротким рабочим примерам. Ниже собраны ссылки, с которых удобно начать руками.
Kafka — это потоковая платформа событий, а не просто классическая очередь сообщений.
Поднимите один топик, одного производителя и одного потребителя, чтобы увидеть, как событие проходит через поток и где появляется отставание.
После базового объяснения откройте Apache Kafka и Документация: так быстрее перейти от терминов к рабочему использованию Kafka.
Kafka — это платформа, через которую системы обмениваются потоком событий. Она не просто передаёт сообщение дальше, а хранит его и даёт читать нескольким потребителям. Поэтому Kafka полезна там, где история событий важна не меньше, чем сама доставка.
Обычная очередь чаще отдаёт задачу одному исполнителю и удаляет её после обработки. Kafka хранит событие в журнале заданное время. Один и тот же topic могут читать разные consumer group, каждая со своим темпом и своим offset.
Topic — это поток событий под одним именем. Partition делит его на части и даёт параллелизм, при этом порядок сохраняется внутри самой partition. Consumer group — группа читателей, которые делят между собой работу по этим partition. Именно так поток масштабируют без потери общей схемы.
Она нужна там, где событий много, их читают несколько систем и поток должен переживать пики нагрузки и временные сбои. Если задача проще и событие нужно одному получателю без истории, Kafka может оказаться тяжёлым решением. В таком случае проще выбрать более лёгкий инструмент.
Часто ломают не брокеры, а плохие решения вокруг события. Например, неудачный key, слишком короткий retention, невнятная схема, медленный consumer или отсутствие идемпотентности. Из-за этого lag растёт, порядок плывёт, а повторная обработка становится болезненной. И сбой начинает расходиться дальше по цепочке.
Дальше обычно разбирают consumer group, rebalance, гарантии доставки, Schema Registry, Kafka Connect и мониторинг потока. Потом уже стоит идти в эксплуатацию кластера и проектирование событий. Рост здесь идёт от понимания системы целиком, а не от одной клиентской библиотеки.
Представьте почту: продюсеры сдают письма, Kafka сортирует их по темам и хранит, а потребители забирают в удобном темпе. Отличие от обычной очереди в том, что письмо остаётся в журнале и его можно перечитать заново.
RabbitMQ доставляет сообщение и удаляет после подтверждения — это классическая очередь. Kafka пишет событие в лог и держит его весь retention-период, поэтому один поток читают сразу несколько независимых потребителей. RabbitMQ тянет десятки тысяч сообщений в секунду, Kafka — миллионы.
Топик — именованный канал, куда пишутся события одного типа: «заказы», «клики», «платежи». Внутри он разбит на партиции и хранится как последовательный лог. Продюсер пишет в топик, потребитель на него подписывается.
Партиция — часть топика, упорядоченная последовательность записей на диске. Именно партиции дают Kafka параллелизм: чем их больше, тем больше потребителей читают топик одновременно. Порядок гарантируется внутри одной партиции, но не между ними.
Producer — сервис, который пишет события в топик. Consumer — сервис, который их читает и обрабатывает. Один продюсер может кормить множество потребителей, и они не знают друг о друге.
Consumer group — набор потребителей, которые делят между собой партиции одного топика и читают параллельно. Kafka сам распределяет партиции по участникам и перераспределяет их при сбое или добавлении нового инстанса. Две разные группы читают один топик независимо, каждая со своим прогрессом.
Kafka развязывает сервисы: продюсер не ждёт потребителя, а пишет событие в поток и идёт дальше. На ней строят обмен между микросервисами, сбор логов и метрик, потоковую аналитику. В московском IT-срезе навык на 10-м месте из 344 и растёт — net +38 за восемь недель.
Нет. Kafka хранит поток событий, а не таблицы для произвольных запросов: читают его последовательно по offset, а не по SQL. Хранение ограничено retention, хотя топик можно настроить и на бессрочное. Для аналитических запросов рядом обычно ставят PostgreSQL или ClickHouse.
Брокер — узел Kafka, который принимает записи от продюсеров, хранит партиции на диске и отдаёт их потребителям. Кластер собирают из нескольких брокеров ради отказоустойчивости и масштаба. Упал один — его партиции подхватывают реплики на других.
Аналитику Kafka нужна на уровне понимания: как событие идёт через поток, что такое топик, offset и lag. В московском срезе сектор Аналитики даёт заметную долю спроса на навык, рядом стабильно SQL и PostgreSQL. Писать сложных консьюмеров чаще не требуется — важнее читать схему потока.
Offset — порядковый номер записи внутри партиции, метка «до какого места дочитано». Потребитель периодически коммитит offset, чтобы после перезапуска продолжить с той же точки. Именно offset позволяет перечитать поток заново или отмотать назад.
Kafka — частый транспорт между микросервисами: сервис публикует событие, остальные реагируют, не вызывая друг друга напрямую. Это снимает жёсткую связанность и сглаживает пики нагрузки. В московских вакансиях Microservices идут рядом с Kafka в 43% случаев.
Да, но семантику выбираете вы. At-least-once доставит сообщение хотя бы раз, допуская дубли; exactly-once исключает и потери, и дубли, но требует транзакций и стоит дороже по производительности. Продакшн чаще живёт на at-least-once с идемпотентной обработкой на стороне потребителя.
ZooKeeper — внешний сервис, который раньше хранил метаданные кластера и координировал брокеров. С версии 4.0 Kafka работает без него в режиме KRaft, где координацию ведёт встроенный Raft-протокол. Для клиента ничего не меняется, но администрировать кластер стало проще.
Kafka — сам брокер и транспорт событий. Kafka Streams — библиотека поверх него для обработки потоков: агрегации, джойны, окна прямо на лету. Streams не отдельный кластер, а код внутри вашего приложения, читающий и пишущий в топики.
Зарплату определяют роль и грейд, а не сама Kafka, но медиана по вакансиям с ней — одна из самых высоких на рынке. Kafka почти не продаётся в одиночку: связки с Airflow и ClickHouse поднимают вилку ещё выше. Рынок senior-heavy, поэтому цифры смещены вверх — актуальные данные в рыночном блоке этой страницы.
Как первый навык — нет: junior-вакансий с Kafka всего 5.8%, рынок сильно смещён к senior (59.8%). Вход идёт через смежный стек — SQL, REST API, PostgreSQL, Docker, — а Kafka добавляется поверх. Джуну хватит понимать продюсера, консьюмера и зачем нужны партиции.
Системный аналитик — главная роль со скиллом Kafka: 1099 упоминаний, больше, чем у Java-разработчиков. Аналитику Kafka нужна, чтобы проектировать контракты событий, описывать поток между сервисами и понимать, где рвётся доставка. Код писать не обязательно — важнее схема топиков и семантика доставки.
Event streaming — обработка данных как непрерывного потока событий, а не разовых запросов. Каждое действие (заказ, клик, платёж) становится событием в топике, которое читают в реальном времени. Kafka — самый распространённый движок для такой модели.