👩💻 Apache Kafka. Потоковая обработка и анализ данных
🧍♂️ Авторы: Гвен Шапиро, Тодд Палино, Раджини Сиварам, Крит Петти
📕 Ссылка на книгу: Книга
Эта книга давно была у меня на примете, но руки прочитать дошли только недавно. В разное время причины откладывания были разными: то Kafka не была востребована в моей практике, то банальная лень. Однако теперь, когда я наконец её осилил, могу поделиться впечатлениями.
😭 О сложности и стиле изложения
Читать книгу по сложности можно сравнить с “Высоконагруженными приложениями”, о которых я ранее писал (обзор тут). Некоторые главы действительно увлекательны, но немало материалов перекликается с другими источниками. Авторы также довольно часто делают ссылки на уже упомянутое ранее, что иногда кажется избыточным.
🤗 Кому подойдёт книга?
Тут всё зависит от вашей роли:
- Программисты найдут полезными главы с 1-й по 6-ю.
- DevOps-специалисты откроют для себя больше, включая нюансы администрирования и поддержания системы в экстремальных условиях.
- Архитекторы оценят разделы о построении масштабируемых архитектур и работе с отказоустойчивостью.
🖥 Интересный факт: книга даже затрагивает темы архитектуры ЦОД-ов и аварийного восстановления, что может быть полезно не только узким специалистам
🛌 Полезность и охват по главам
После этой книги вам, вероятно, больше ничего не придётся читать про Kafka — настолько много материала в ней собрано. Несмотря на общую техническую направленность, авторы используют доступный язык. Код есть, но в меру. В тексте нет сложных терминов, что делает его доступным даже для начинающих. Единственная проблема — местами книга может показаться скучноватой.
🐸 Интересные темы
Среди особо полезных и увлекательных тем:
- Топология брокеров: как правильно распределять нагрузку
- Kafka Streams и Kafka Connect: работа с потоками данных и их интеграция с другими системами
- Зеркальное копирование между кластерами с помощью MirrorMaker2
- Администрирование Kafka
🔪Минусы
Книга, как и любая техническая литература, имеет свои недостатки:
- Порой повторяются уже упомянутые темы, что немного утомляет.
- Акцент сделан на разработку под Java, где для Kafka существует огромная экосистема (например, Avro, Hadoop, Connect). Для других языков, таких как Go, многие вещи либо отсутствуют, либо требуют стандартных решений, что может ограничить практическое применение.
🚬 Итоговая оценка
Моя оценка книге — 8.5/10. Это крепкая техническая работа, которая охватывает массу тем, предлагает практичные утилиты и рассказывает о реальных проблемах и их решениях. Если вы только начинаете знакомство с Kafka или хотите углубиться в эту тему, эта книга станет отличным выбором. Однако будьте готовы к некоторой “воде” и заточенности материала под экосистему Java.
Если вы хотите максимально разобраться в Kafka, не теряя времени на поиск информации из разных источников, — эта книга точно для вас 👨🦳