Как объяснить детям, что такое Apache Kafka за 15 минут с картинками и выдрами +14


AliExpress RU&CIS



Я учусь иллюстрировать сложные процессы с помощью комиксов. Нашла себе в копилку крутой кейс: как с помощью комиксов про милых выдр можно ребенку объяснить такую сложную штуку как Apache Kafka, и сделать мир немного добрее.

«Легко по течению» — легкое введение в потоковую обработку и Apache Kafka. Группа выдр обнаруживает, что они могут использовать гигантскую реку для общения друг с другом. По мере того, как все больше выдр перемещается в лес, они должны научиться адаптировать свою систему, чтобы справиться с возросшей активностью леса.

Под катом 25 слайдов, объясняющие основы Kafka для детей и гуманитариев. И много милых выдр.



Легко по течению





Поначалу, в лесу было тихо, и только две семьи выдр жили среди деревьев и рек.



Всякий раз, когда им нужно было поделиться новостями, они просто разговаривали друг с другом напрямую.

Они делились новостями о вечеринке в честь дня рождения, новых гостях и других событиях, происходящих в лесу.



Со временем, все больше и больше выдр переселялось в лес.

И точно так же росло количество происходящих в лесу событий.



Это было целым вызовом для маленьких выдр. Каждый раз, когда у выдры были новости, чтобы поделиться ими, она должна была найти каждую другую семью и рассказать им лично.



Это не только занимало много времени, но было чревато ошибками.

Что если какая-то выдрячья семья была на пикнике, и не могла получить уведомление о предстоящем событии?



Ну, тогда выдре, которая хотела оповестить соседей, придется вернуться позже или сдаться.



Поскольку остальные выдры общались друг с другом лично, говорили, что они Тесно Связаны.

Быть тесно связанными супер мило, но это делает коммуникацию с другими сложнее. Это называется Проблема Масштабирования.



Именно тогда у одной маленькой выдры по имени Никси, появилась идея, которая навсегда изменила лес.

По лесу текла огромная река Кафка, и Никси знала, что выдры могу использовать эту реку для общения.

Вы можете установить Kafka в своем лесу:

# clone the repository
git clone 	https://github.com/round-robin-books/gently-kafka.git

# start kafka
docker-compose up




Она даже сочинила песню, чтобы объяснить, как это работает:

События свои
В реку ты опусти,
Река их отнести
Сможет выдрам другим.

Что о событиях,
Плывущих в потоке,
Этот путь удивителен,
Мы все тут в шоке.



«Не отстанешь ли ты?» — вмешался дельфин
«Нельзя оставлять все на милость глубин!»

Не будет в доставке такого.
Мы командой реку разделим,
На множество мелких потоков
И вместе достигнем цели.

Давайте посмотрим, как это рабоnает





Во первых, выдра наблюдает Событие, что-то, что произошло в определенный момент времени.

К примеру, «Сегодня вернулись пчелы» — это событие.



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

image

Тогда выдры смогут решать в какую часть реки направить это сообщение.

Река делится на потоки, которые называют Топики, которые делают организацию сообщений проще.

image

В итоге, выдры бросали свои сообщения в потоки (топики), чтобы другие выдры могли их найти.

По началу они использовали стеклянные бутылки, но бутылки просто уплывали.

image

Тогда, выдры переключились на стеклянные поплавки. Поскольку поплавки оставались на месте и никуда не уплывали, это было названо Устойчивостью.

Устойчивость важна, потому что это позволяет выдрам читать сообщения когда они захотят, к примеру после их пикника.

2 типа выдр



image

Выдры, которые помещают сообщения в реку, называются Продюсеры.

Продюсеры кидают маленькие партии сообщений в реку, не зная, кто придет читать их.

Незнание помогает Разделять системы,… то есть выдр, которые создают события, и которые читают события.

image

Выдры, которые читают события в потоке называются Консьюмеры.

Консьюмеры следят за любым топиком, который их интересует.

Например, выдры Первой помощи следят за топиком с лесными алертами, так что они могут реагировать в чрезвычайных ситуациях (как в ситуации с пчелами).

image

Эта система работает хорошо, но спустя какое-то время река становится слишком загруженной огромным количеством событий. Как же маленьким выдрам все успеть?

Будучи социальными животными, они предпочитают работать вместе. Во первых, они скидывают огромные камни в реку, разделяя каждый топик на небольшое количество потоков, или Разделов.

image

Тогда, один член семьи, так называемый Лидер Группы, назначает подмножество мелких потоков (разделов) каждому члену семьи.

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

image

Работая совместно в этом случае, каждая выдрячья семья называется Группой Консьюмеров, которая успевает следить за своей частью потока сообщений, сколько бы их не было всего в реке.

image

Более того, если выдра заболела или у нее есть дела, ее работу можно поручить другой выдре в ее группе.

Поскольку кто-то всегда был рядом, выдры были Высоко доступными.

И поскольку они могли справляться с Незапланированными Ситуациями, они были Отказоустойчивыми.

image

Еще существовала магическая часть леса, Земля Потоковой Обработки, где выдры могли делать реально классные вещи с событиями в реке.

image

Целая книга написана об этом магическом месте: Mastering Kafka Streams and ksqlDB

image

Выдры также построили дороги, которые называются Кафка Коннекторы, чтобы донести сообщения других сообществ в реку Кафка. Все присоединились к веселью.

image

Кафка продолжала помогать многим другим во всем мире. И возвращалась обратно в лес.

Жизнь шла своим чередом многие годы, а выдры жили долго и счастливо.



Я не удержалась, вот вам несколько фактов про выдр:



Выдрята, или щенки выдр, спят у мам-выдр на груди.



Взрослые выдры держат друг друга за лапки во сне, чтобы их не разделило течение.



А одинокие выдры, чтобы не дрейфовать, заворачиваются в водоросли.

Строго говоря, автор использует термин «otter», что переводится как выдровые, и включает себя 13 видов животных с распространением по всему миру, кроме Австралии.

И если вы действительно использовали этот материал на детях в образовательных целях, то завершить можно речевым упражнением:

«В недрах тундры выдры в гетрах тырят в ведра ядра кедров. Выдрав с выдры в тундре гетры, вытру выдрой ядра кедра, вытру гетрой выдре морду — ядра в вёдра, выдру в тундру.»




Комментарии (15):

  1. Ar0x13
    /#23165528

    Классно:). Спасибо

  2. iiwabor
    /#23165658

    Оригинальная подача материала) Продолжайте!

  3. panter_dsd
    /#23165692

    Шикарно сделано, спасибо!

  4. ashed
    /#23165716

    Напоминает материал про Kubernetes for kids

  5. krig
    /#23165790 / +2

    Что я узнал из этого милого комикса - если раньше у выдр все было хорошо, простая жизнь, развлечения, то с внедрением кафки они превратились в информационных зомби, которым ещё и приходится вкалывать, дабы добыть себе хоть немного новой информации. Причём периодически приходится работать за себя и за того парня.

    В общем, запилили себе оверинжинирд решение для решения простой проблемы, и теперь тратят неимоверное количество ресурсов на её поддержание. Небось ещё и на конференции в соседние леса ездят и рассказывают как они все классно придумали и реализовали.

    • staticmain
      /#23165986

      Казалось бы, в чем проблема писать информацию на доске объявлений.

  6. fransua
    /#23165800 / +1

    Выдрочки милые, спасибо!

  7. DmitryKoterov
    /#23165954

    выдра рвала водопровод

    водопад воды в подвал

  8. saboteur_kiev
    /#23166630

    Мне стало сложнее после картинок.
    А после документации проще… Наверное потому что я не ребенок…

  9. Gr1f0n
    /#23166702

    Работая совместно в этом случае, каждая выдрячья семья называется Группой Консьюмеров, которая успевает следить за своей частью потока сообщений, сколько бы их не было всего в реке.



    called a consumer group, could keep up with the flow of messages in the stream, no matter how busy the river got.

    Кажется, в оригинале мысль в том, что каждая группа в целом может справиться с потоком, но сами группы между собой нагрузку не делят.


    p.s. пожалейте людей с не самым хорошим интернетом — почти на 170 мб картинок и гифок. Может удасться их как-то пожать? =)

  10. perfect_genius
    /#23167170

    63 мегабайта гифок, причём гифки в большом разрешении, но показываются уменьшенными. Грузилось всё это добро чуть ли не минуту -_-

  11. NTHub
    /#23167376

    Судя по отсутствию перевода на русский это для англоязычных детей и гуманитариев.
    Поражают наши разработчики — потратить кучу сил и времени на изготовление продукта и на старте не сделать перевода на русский язык.
    Комплекс Дурова с Телеграммом?
    Открою маркетинговый секрет — Для западной аудитории Ваши местечковые языковые комплексы ничего не значат.

    • Sagittarius67
      /#23168036

      Это перевод. Ваши разработчики не тратили кучу сил и времени.