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

Ваша оценкаЖанры
Ваша оценка
прочитала свою первую книжку из серии 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 эта книга ответов не даёт.

Замечательная книга "для старта". ОБъяснено все на примерах и нескучным языком.
Использовала ее для материалов лекций для 2 курса по дисциплине "Информационные системы и технологии"

