Apache Kafka. Потоковая обработка и анализ данных

Александр Шитик
Александр Шитик

Пишу свои посты и книги, делаю обзоры на фильмы и книги. Эксперт в области космологии и астрономии, IT, продуктивности и планирования.

Apache Kafka. Потоковая обработка и анализ данных
Ния Нархид, Гвен Шапира, Тодд Палино
Жанры: Программирование
Год издания: 2019
Год прочтения: 2020
Моя оценка: Нормальная
Количество прочтений: 1
Количество страниц: 320
Конспект (страниц): 11
Первоначальный язык издания: Английский
Переводы на другие языки: Русский, Китайский

Общее описание

Книга объёмом в 320 страниц, состоящая из 11 глав. Помимо текстового представления, в книге присутствует немало графической информации в виде схем и диаграмм, есть также и вставки программного кода. Уровень сложности — средний. Каждая глава подкреплена небольшим резюме в виде саммари из нескольких предложений.

Краткий обзор

Первые две главы можно считать вводными. В первой происходит знакомство с Kafka: принцип работы публикации/подписки, определение ниши и сфер применения Kafka. Во второй главе речь идёт об установке Kafka. Всё рассмотрено достаточно подробно — от выбора ОС и установки ZooKeeper до требований по памяти, диску, сети и процессору. Только эти две вводные главы заняли порядка 20% всей книги.

Если уж Kafka построена по принципу публикации/подписки, то вполне логично, что именно производители и потребители будут рассмотрены сразу после установки. Именно об этом и идут две следующие главы. Сложно однозначно идентифицировать, насколько глубоко разобраны эти темы, так как не являюсь большим экспертом по Kafka, тем не менее могу отметить некоторые темы, которые были затронуты: создание и конфигурирование потребителя и производителя, синхронная и асинхронная отправка сообщений, сериализация, гарантии доставки, работа со смещением.

Следующая глава посвящена более глубокому погружению в детали архитектуры. Обсуждаются механизмы репликации, работа с индексами, обработка отказов и многое другое.

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

Следом — глава про создание конвейеров данных. Сначала она начинается с рассуждений о том, какие требования надо предъявлять к системам, а далее рассмотрены Kafka Connect, работа с данными из MySQL, Elasticsearch и пара слов об альтернативах Kafka Connect.

Следующая глава посвящена возможностям репликации между разными Kafka-кластерами с использованием MirrorMaker. Рассматриваются сценарии миграции, бэкапа и обеспечения отказоустойчивости на уровне геораспределения.

Далее идут две главы — об администрировании и мониторинге Kafka. Подробно останавливаться на них нет смысла, кому нужно — сам посмотрит. В целом лишь отмечу, что главы показались не скучными и несложными.

Ну и наконец, последняя глава посвящена потоковой обработке данных — здесь рассмотрены основы Kafka Streams и построение приложений для обработки данных в реальном времени.

Мнение

Неплохая книга про Kafka. Даже с учётом того, что я не работал с ней до прочтения, материал был вполне понятен и информативен. Многие вещи, к сожалению, без опыта использования подзабываются, однако в какой-то степени сделанный ранее конспект помогает всё быстро освежить. Если вы бэкенд-программист и в планах у вас продолжать расти как специалист, то я бы рекомендовал эту книгу к прочтению, даже если вы уже знакомы с другим брокером сообщений.

Вверх