🔥 Залипательная 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".
Удачных экспериментов!
#интеграции #брокеры #анимация
Post #276
257

- 🔥 2
- 🙏 1