<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kafka on DevOps Brain 🧠</title><link>https://devopsbrain.ru/tags/kafka/</link><description>Recent content in Kafka on DevOps Brain 🧠</description><generator>Hugo</generator><language>en-us</language><copyright>© It Cat</copyright><lastBuildDate>Thu, 06 Aug 2026 17:00:00 +0300</lastBuildDate><atom:link href="https://devopsbrain.ru/tags/kafka/index.xml" rel="self" type="application/rss+xml"/><item><title>Kafka на собеседовании: System Design и типичные ошибки — Часть 9</title><link>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-9/</link><pubDate>Thu, 06 Aug 2026 17:00:00 +0300</pubDate><guid>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-9/</guid><description>&lt;p>Kafka часто появляется на собеседованиях не как отдельная технология, а как часть задачи по проектированию распределённой системы. То есть спрашивают вроде Kafka, а проверяют, умеете ли вы думать о порядке, сбоях и последствиях собственных решений.&lt;/p>
&lt;p>Интервьюер может попросить спроектировать:&lt;/p>
&lt;ul>
&lt;li>систему заказов;&lt;/li>
&lt;li>обработку платежей;&lt;/li>
&lt;li>сервис уведомлений;&lt;/li>
&lt;li>поток логов;&lt;/li>
&lt;li>рекламную аналитику;&lt;/li>
&lt;li>видеохостинг;&lt;/li>
&lt;li>систему отслеживания действий пользователей.&lt;/li>
&lt;/ul>
&lt;p>В таких задачах недостаточно сказать:&lt;/p>
&lt;blockquote>
&lt;p>Давайте поставим Kafka между сервисами.&lt;/p>&lt;/blockquote>
&lt;p>Это звучит уверенно, но примерно как «давайте добавим микросервисы, и всё станет проще». Иногда станет. Но сначала нужно объяснить, почему.&lt;/p></description></item><item><title>Kafka: как спроектировать для production — Часть 8</title><link>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-8/</link><pubDate>Thu, 06 Aug 2026 16:00:00 +0300</pubDate><guid>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-8/</guid><description>&lt;p>Понимать устройство Kafka недостаточно. Это как знать, как работает двигатель, но всё равно пытаться возить шкаф на самокате.&lt;/p>
&lt;p>Большинство проблем возникает не потому, что Kafka работает неправильно, а потому, что на этапе проектирования были неверно выбраны:&lt;/p>
&lt;ul>
&lt;li>структура &lt;code>Topics&lt;/code>;&lt;/li>
&lt;li>количество &lt;code>Partition&lt;/code>;&lt;/li>
&lt;li>ключ сообщения;&lt;/li>
&lt;li>срок хранения данных;&lt;/li>
&lt;li>стратегия обработки ошибок;&lt;/li>
&lt;li>модель совместимости сообщений.&lt;/li>
&lt;/ul>
&lt;p>Ошибки могут долго оставаться незаметными. Система работает на тестовой нагрузке, успешно проходит запуск, а через несколько месяцев одна &lt;code>Partition&lt;/code> оказывается перегруженной, &lt;code>Consumer&lt;/code> начинают отставать, а изменение формата события ломает сразу несколько сервисов. Формально всё ещё «зелёное», но где-то в мониторинге уже начинается тихая драма.&lt;/p></description></item><item><title>Kafka: жизненный цикл сообщения от Producer до Consumer — Часть 7</title><link>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-7/</link><pubDate>Thu, 06 Aug 2026 15:00:00 +0300</pubDate><guid>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-7/</guid><description>&lt;p>Мы уже разобрали отдельные компоненты Kafka:&lt;/p>
&lt;ul>
&lt;li>&lt;code>Producer&lt;/code>;&lt;/li>
&lt;li>&lt;code>Topic&lt;/code>;&lt;/li>
&lt;li>&lt;code>Partition&lt;/code>;&lt;/li>
&lt;li>&lt;code>Broker&lt;/code>;&lt;/li>
&lt;li>&lt;code>Leader&lt;/code> и &lt;code>Follower&lt;/code>;&lt;/li>
&lt;li>&lt;code>Consumer Group&lt;/code>;&lt;/li>
&lt;li>&lt;code>Offset&lt;/code>.&lt;/li>
&lt;/ul>
&lt;p>Теперь соберём всё вместе и посмотрим, что происходит с сообщением на каждом этапе. Это тот момент, когда отдельные детали наконец перестают лежать кучей на столе и начинают напоминать систему.&lt;/p>
&lt;p>Упрощённо полный путь выглядит так:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>Producer
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> v
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Выбор Partition
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> v
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Leader Broker
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> v
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Append-Only Log
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> v
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Follower Replicas
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> v
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Consumer
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> v
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Offset
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>В исходном материале этот процесс описан короткой последовательностью:&lt;/p></description></item><item><title>Kafka: очередь сообщений и потоковая платформа — Часть 6</title><link>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-6/</link><pubDate>Thu, 06 Aug 2026 14:00:00 +0300</pubDate><guid>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-6/</guid><description>&lt;p>О Kafka часто говорят как о брокере сообщений.&lt;/p>
&lt;p>Это не совсем ошибка, но и не полная картина. Примерно как назвать Kubernetes «штукой, которая запускает контейнеры»: технически верно, но где-то рядом уже грустит SRE.&lt;/p>
&lt;p>Kafka действительно может работать как очередь. Однако её архитектура позволяет использовать один и тот же &lt;code>Topic&lt;/code> сразу в двух режимах:&lt;/p>
&lt;ul>
&lt;li>как механизм распределения фоновых задач;&lt;/li>
&lt;li>как источник непрерывного потока событий.&lt;/li>
&lt;/ul>
&lt;p>Именно поэтому Kafka называют не просто message broker, а &lt;strong>Event Streaming Platform&lt;/strong>.&lt;/p></description></item><item><title>Kafka: почему она настолько быстрая — Часть 5</title><link>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-5/</link><pubDate>Thu, 06 Aug 2026 13:00:00 +0300</pubDate><guid>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-5/</guid><description>&lt;p>Когда разработчики впервые слышат, что Kafka способна обрабатывать миллионы сообщений в секунду, возникает закономерный вопрос:&lt;/p>
&lt;p>Как обычный брокер сообщений может работать настолько быстро?&lt;/p>
&lt;p>Кажется, что внутри должны быть какие-то сложные алгоритмы, хитрые структуры данных или хранение всего в памяти. Желательно ещё немного магии и отдельный процесс, который шепчет диску «давай быстрее».&lt;/p>
&lt;p>На самом деле всё наоборот.&lt;/p>
&lt;p>Главный секрет Kafka — простота.&lt;/p>
&lt;p>Большинство решений в её архитектуре направлено не на усложнение, а на устранение лишних операций. Kafka не пытается победить физику. Она просто старается не мешать ей работать.&lt;/p></description></item><item><title>Kafka: репликация, Leader, Follower и ISR — Часть 4</title><link>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-4/</link><pubDate>Thu, 06 Aug 2026 12:00:00 +0300</pubDate><guid>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-4/</guid><description>&lt;p>До этого момента мы рассматривали Kafka так, будто каждая &lt;code>Partition&lt;/code> хранится только на одном сервере. Для объяснения это удобно. Для production — примерно как хранить единственный бэкап на ноутбуке стажёра.&lt;/p>
&lt;p>Но возникает очевидный вопрос.&lt;/p>
&lt;p>Что произойдёт, если этот сервер выйдет из строя?&lt;/p>
&lt;p>Если данные существуют в единственном экземпляре, то вместе с сервером исчезнут и все сообщения.&lt;/p>
&lt;p>Для банков, маркетплейсов или платёжных систем такой сценарий недопустим. Там слово «пропало» лучше вообще не произносить рядом с данными.&lt;/p></description></item><item><title>Kafka: Record, Offset и Append-Only Log — Часть 3</title><link>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-3/</link><pubDate>Thu, 06 Aug 2026 11:00:00 +0300</pubDate><guid>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-3/</guid><description>&lt;p>В предыдущей части мы разобрались с &lt;code>Partition&lt;/code> и &lt;code>Consumer Group&lt;/code>.&lt;/p>
&lt;p>Теперь осталось понять самое интересное:&lt;/p>
&lt;p>Что физически хранится внутри Kafka?&lt;/p>
&lt;p>Многие представляют себе некую очередь сообщений в памяти: где-то там лежат аккуратные сообщения, Kafka их бережно перекладывает и всё держит в RAM.&lt;/p>
&lt;p>На самом деле Kafka устроена намного проще. И это тот приятный случай, когда «проще» означает не «примитивнее», а «быстрее и надёжнее».&lt;/p>
&lt;p>Именно эта простота и позволяет ей достигать миллионов сообщений в секунду.&lt;/p></description></item><item><title>Kafka: как масштабируются Partitions, Consumer Groups и порядок сообщений — Часть 2</title><link>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-2/</link><pubDate>Thu, 06 Aug 2026 10:00:00 +0300</pubDate><guid>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-2/</guid><description>&lt;p>В первой части мы познакомились с основными компонентами Kafka:&lt;/p>
&lt;ul>
&lt;li>&lt;code>Broker&lt;/code>&lt;/li>
&lt;li>&lt;code>Topic&lt;/code>&lt;/li>
&lt;li>&lt;code>Producer&lt;/code>&lt;/li>
&lt;li>&lt;code>Consumer&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>Но главный вопрос остался открытым, и он обычно появляется сразу после первой фразы «Kafka выдерживает миллионы сообщений». Как Kafka способна обрабатывать миллионы сообщений в секунду и при этом не терять порядок данных?&lt;/p>
&lt;p>Ответ состоит всего из двух слов: &lt;strong>Partitions и Consumer Groups.&lt;/strong>&lt;/p>
&lt;p>Именно они делают Kafka тем инструментом, которым она является сегодня. Без них Kafka была бы просто очень уверенным в себе лог-файлом.&lt;/p></description></item><item><title>Kafka: архитектура и базовые принципы – Часть 1</title><link>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-1/</link><pubDate>Thu, 06 Aug 2026 09:00:00 +0300</pubDate><guid>https://devopsbrain.ru/posts/2026-08-06-kafka-from-zero-to-hero-part-1/</guid><description>&lt;p>Если сегодня открыть архитектуру практически любой крупной IT-компании – Aviasales, Uber, Avito, Яндекс или Ozon – почти наверняка где-нибудь между микросервисами окажется Kafka. Иногда аккуратно, иногда как тот самый провод под столом, который все боятся трогать, потому что «оно же работает».&lt;/p>
&lt;p>Kafka давно перестала быть просто брокером сообщений и стала фундаментом современных распределённых систем.&lt;/p>
&lt;p>Эта серия статей – подробное руководство по Kafka. Мы не только разберём основные компоненты, но и поймём, почему Kafka настолько быстрая, как она обеспечивает отказоустойчивость и какие вопросы чаще всего задают на собеседованиях.&lt;/p></description></item></channel></rss>