TGViewer
Гуманный аналитик Гуманный аналитик @humane_analyst · 413 subscribers
Post #276 257
🔥 Залипательная Kafka

Читали про Apache Kafka, но в голове всё равно трудно представить, как она работает? Не беда! В открытом доступе есть средство для визуального моделирования работы с этим брокером. https://softwaremill.com/kafka-visualisation/

Пройдя по этой ссылке, вы можете самостоятельно крутить-вертеть параметры, как душе угодно. Однако, если вы пока слабо представляете себе работу с Кафка, то могу рекомендовать воспользоваться следующим алгоритмом.
👇

0️⃣ Стоит начать с выставления самого медленного режима анимации – это 5s.

1️⃣ Далее выставляем число партиций – 1шт, число брокеров – 1шт, фактор репликации – 1 (то есть без репликации). Для начала пусть будет 1 продюсер и 1 консьюмер. Запускаем и следим за анимацией: это самая простая ситуация, при которой сообщение перекладывается через Кафку в единственного консьюмера.

2️⃣ Добавляем второго консьюмера, указав ту же консьюмер-группу "A", что и у первого. Будет видно, что новый консьюмер (потребитель) ничего не потребляет. Вывод: число потребителей не должно превосходить число партиций Кафки.

3️⃣ Далее стоит привязать второго консьюмера к новой группе "B". Станет видно, что теперь оба консьюмера стали независимо потреблять сообщения из единственной партиции. Таким образом у нас имеется 2 независимых потребителя данных.

4️⃣ После этого выставляем число партиций в значение 2 и перепривязать второго консьюмера снова к той же консьюмер-группе "A". Будет видно, что при равенстве числа партиций и консьюмеров, состоящих в одной консьюмер-группе, каждый консьюмер вычитывает сообщения строго из одного топика.

5️⃣ Добавляем третью партицию и видим, что эта патриция теперь вычитывается первым консьюмером. Причина: каждая добавляемая партиция распределяется между имеющимися потребителями.

6️⃣ Теперь стоит сделать небольшую диверсию, удалив второго консьюмера. После этого все партиции переназначаются на оставшегося единственного потребителя.

7️⃣ Если установить число партиций в значение 2 и число брокеров – тоже в 2, то будет видно, как независимо работают 2 брокера Kafka, а их сообщения потребляются единственным "выжившим" консьюмером.

8️⃣ Но, поскольку брокеры должны быть надёжными, то выставим фактор репликации в значение 2. После этого будет видно, что у каждого брокера стало по 2 партиции: ярким цветом показана партиция-лидер, блёклым – партиция с репликами сообщений от другого брокера.

9️⃣ Если после этого нажать синюю кнопку питания у брокера 1, то он "потухнет". После этого брокер 2 возьмёт на себя хранение всех сообщений продюсера.

🔟 Если снова нажать кнопку питания у брокера 1, то брокер вернётся в строй и довольно быстро будет навёрстано отставание от брокера 2. Брокер 1 продолжит работу.

🔢 Далее можно продолжать экспериментировать, играя всеми доступными параметрами и рассматривая получающиеся при этом результаты.

☝ Меняя параметры, не забывайте нажимать на кнопку "Apply Setup", чтобы применить все изменения. А если захотите провести эксперимент с выставленными параметрами с чистого листа, то просто нажмите в правом верхнем углу кнопку "Restart".

Удачных экспериментов!

#интеграции #брокеры #анимация
  • 🔥 2
  • 🙏 1
More from @humane_analyst
  1. Oct 1, 2026⚡ TechCommunity Fest 2026 (TCF2026) Я сегодня на TechCommunity Fest. Событие не для широко…
  2. Sep 28, 2026📕 "Ikigai: The Japanese Secret to a Long and Happy Life" by Héctor García and Francesc Mi…
  3. Sep 24, 2026Друзья, поздравляю всех с Днём системного аналитика! 🥂 Пусть все требования будут чёткими…
  4. Sep 21, 2026📣 Выложены записи трека "Архитектура и анализ" CodeFest'16. Смотрим! 📺 #события #codefes…
  5. Sep 16, 2026🤖 Новая веха: заказчик принëс нейрослоп На днях произошло событие, которое без преувеличе…
  6. Sep 10, 2026Моё настроение сегодня как нельзя лучше представлено на этом ролике. #юмор #методыуправлен…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →