Логотип LiveLibbetaК основной версии

Это бета-версия LiveLib. Сейчас доступна часть функций, остальные из основной версии будут добавляться постепенно.

Рецензия на книгу

Грокаем стриминг

Фишер Джош, Ван Нин

0

(0)

  • Аватар пользователя
    fru-n-quiz
    13 марта 2026

    прочитала свою первую книжку из серии grokking

    ниже краткий конспект

    Несложная для усвоения книжка, которая помогает упорядочить мысли (особенно на английском) про процессы (а в случае стриминга long running процессы), потоки (threads), между которыми распределяется память процесса, и очереди (queues) как один из ключевых концептов в архитектуре потоковых систем, позволяющий обрабатывать события (events) по принципу fifo (first in first out, или «первым пришел, первым ушел»). Процесс разбивается на stages или компоненты (подразумевается, что системы пакетной и потоковой обработки имеют многокомпонентную “multi-stage” архитектуру). Пропускная способность каждого компонента  обеспечивается за счет количества его экземпляров (instances). Нагрузку между инстансами распределяет балансировщик/диспетчер событий. Также в книге приводится две наиболее часто используемые стратегии по группировке событий (field и shuffle grouping), которые он выполняет.


    Компоненты запускаются операторами (executors). Поток (stream) - не что иное как передача данных от одного компонента к другому.

    Компоненты, связанные потоком, образуют джоб; данные (или события/сообщения) передаются по каналу от компонента-источника (source, принимает входящие данные  и сохраняет их как события в очередь) к компоненту-оператору (operator, настроенный на канал, разбирает очередь и обрабатывает события в соответствии с заданием-джобом, в результате которого получаем данные «на выход»). Джоб настроен на прослушивание событий заданного класса на определенном порту(-ах).


    Вобщем первые три главы совсем для чайников, в 4ой будет про распараллеливание (fan-out) и агрегацию (fan-in) потоков, и ориентированный ациклический граф DAG (directed acyclic graph).


    Если вы знакомы с концепцией джойнов и оконных функций в sql, то тут с этим тоже не должно быть проблем.

    В главе про 3 типа delivery semantics вам напомнят про идемпотентность.

    А под конец расскажут про backpressure, check- и savepointing.


    Тем не менее мне понравилось как авторы ведут читателя от простого к сложному, и примитивная стриминговая система по ходу книги становится масштабируемой и обрастает …


    В связи с быстро развивающимися и устаревающими технологиями, авторы выбрали framework-agnostic подход. Поэтому на вопросы по типу чем kafka отличается от rabbitMQ эта книга ответов не даёт.


    like4 понравилось
    20

Комментарии 0

Ваш комментарий

, чтобы оставить комментарий.