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

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

На собесе как на танцполе

Книга небольшая, 320 страниц - но я ее осилил с n-цатой попытки, потому что никак не мог пройти дальше так называемого “разгона” в первой главе, которая безжалостно тизерит всю книгу и бесконечно ссылается на последующие главы.

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

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

Четвертая глава про консьюмеры (или потребители сообщений). Тоже обязательная к прочтению - говорится и про группу консьюмеров, и про ребалансировку разделов, настройку консьюмеров, коммиты и оффсеты, а также десериализаторы.

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

Шестая глава посвящена надежной доставке данных. В этой главе идет речь о гарантиях надежности, еще раз о репликации, параметрах надежности брокера, также подробно описываются различные сценарии использования продюсеров и консьюмеров - с разными комбинациями атрибутов надежности, разными режимами подтверждения получения сообщения, разными вариантами коммитов оффсетов (или фиксации смещений, кому как привычнее). Глава так же крайне полезная к прочтению.

В седьмой главе речь идет о конвейерах данных и фреймворке Kafka Connect. Как я понял (так как никогда с Kafka Connect не сталкивался) - этот фреймворк предоставляет возможности использования как настоящего оркестратора. То есть, если вам нужно передать данные из продукта А в продукт Б, и у вас нет возможности внести изменения в продукт Б (дописать туда сервис-консьюмер, который будет вычитывать ваш топик), то в этом случае может помочь данный фреймворк. Об этом как раз пишется в разделе “Когда использовать Kafka Connect, а когда клиенты-продюсеры и клиенты-консьюмеры”. Как в дальнейшем я сформировал определение для таких глав - “прочитал, саму главу забыл, но все же помнишь, что вроде бы что-то такое ты слышал”.

В восьмой главе говорится о зеркальном копировании данных. Приводятся различные сценарии зеркального копирования данных между кластерами (например, при мультиЦОДе, или что делать при аварийном сбое), а также описываются мультикластерные архитектуры. Примерно половина главы посвящена встроенной утилите зеркального копирования MirrorMaker. До этого места главу читать тяжеловато, но интересно, с места про MirrorMaker - тяжеловато и не очень интересно.

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

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

Одиннадцатая (последняя) глава про потоковую обработку и Kafka Streams. Довольно обзорная глава, на которой, к сожалению, снова включилось состояние “прочитать, чтобы забыть”.

Заканчивается книга приложением, в котором описывается порядок установки Kafka в различных операционных системах.

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

PS кстати, книга очень хорошо заходит аккомпанементом к курсу с udemy от Stephane Maarek: https://www.udemy.com/course/apache-kafka/



Report Page