Apache Kafka — распределенный программный брокер сообщений с открытым исходным кодом. Его ключевая задача заключается в сборе данных у приложений и их хранении в распределенном хранилище. Сегодня обсудим литературу, которая поможет разобраться в его работе и понять, какую роль он играет в проектах, связанных с большими данными.
Представляем вашему вниманию избранную подборку новых высокооцененных книг для начинающих и опытных специалистов.
Kafka: The Definitive Guide
Авторы книги — разработчики из LinkedIn и Confluent. Первая версия брокера была выпущена в 2008 году для внутреннего использования именно в LinkedIn, чтобы адаптировать ИТ-инфраструктуру соцсети к нагрузке с приходом многотысячной аудитории. В 2011-м команда опубликовала Kafka под открытой лицензией Apache 2.0.
Через несколько лет выходцы из LinkedIn решили самостоятельно коммерциализировать профессиональный опыт и открыли компанию Confluent. Их главной разработкой стала одноименная платформа для управления возможностями брокера и не только.
Первое издание книги вышло в 2017 году, а во втором издании 2021-го года добавили главы, посвященные транзакциям, новым возможностям защиты и изменениям в инструментах. Авторы объясняют, как развернуть кластеры Kafka, построить событийно-ориентированную архитектуру, масштабируемые приложения с потоковой обработкой данных и не только.
Книга подойдет разработчикам, системным администраторам и DevOps-инженерам в качестве справочника. При этом новичкам будет проще понять материал, если есть опыт работы с Linux и Java (обработка исключений и параллелизм). Многим специалистам книга помогла корректно настроить Apache Kafka, особенного внимания заслуживают главы про мониторинг и репликацию кластеров.
Kafka in Action
Книга вышла в 2022 году. Один из авторов — Дейв Клейн, разработчик в Confluent.
Содержание Kafka in Action идет от базовой теории к более сложным практическим задачам, например, авторы объясняют, как управлять очередями и работать с Java-приложениями. Не остались в стороне вопросы логирования, безопасности, аналитики. Все темы сопровождаются иллюстрациями и примерами кода.
Книга предназначена для разработчиков и системных администраторов, а также для менеджеров, которые хотят лучше понимать техническую сторону брокера. В отзывах также отмечают, что книга — хорошее введение в Kafka для новичков.
Kafka Streams: Real-time Stream Processing
Автор книги — Прашант Кумар Пандей, который не только разработчик и ИТ-архитектор, но и автор курсов по Kafka. Первая часть книги отведена знакомству с основами потоковой обработки данных в рамках ИТ-архитектуры, вторая — с общим принципом работы Apache Kafka. Последняя глава показывает на практике, как использовать Kafka Streams (библиотеку для обработки и анализа данных в кластерах Kafka). Книга была выпущена в 2019 году.
В работе над книгой автор задействовал Java 8 с использованием лямбда-выражений (инструкций, которые можно вызвать в различных местах программы), поэтому знакомиться с материалом будет проще, если был опыт работы с ними. Для лучшего понимания код из примеров доступен на GitHub.
Книга будет полезна разработчикам и ИТ-архитекторам, а также менеджерам, которые управляют проектами, построенными с использованием Kafka Streams.
Effective Kafka
Это практическое руководство 2021 года по выстраиванию событийно-ориентированной архитектуры. Автор книги, Эмиль Кутанов, 18 лет работает архитектором ИТ-решений и применяет в своих проектах Apache Kafka. В теоретической части он рассказывает о балансировке нагрузки и параллелизме. Далее — знакомит с подходами к проектированию архитектуры приложения с потоковой обработкой данных. Автор не обходит стороной и вопросы безопасности Kafka: сегментация сети, шифрование, сертификаты и прочее.
Книга пригодится не только разработчикам, но и системным администраторам. Первые главы дают базовое представление об Apache Kafka, постепенно автор вводит более сложные концепции и показывает их применение на практике. Читатели оценили книгу за подробное описание возможностей Kafka.
Mastering Kafka Streams and ksqlDB
В этой книге 2021 года авторы рассматривают два инструмента, которые позволяют строить приложения с использованием потоковой обработки данных — Kafka Streams и ksqlDB. Книгу написал Митч Сеймур, автор обучающих курсов по программированию и бывший старший разработчик в Mailchimp. Он представил объемное описание двух инструментов и поделился опытом их использования.
Книга подойдет для погружения в тему, хотя некоторым новичкам она кажется более сложной по сравнению с «Kafka: the Definitive Guide».
А как от теории перейти к практике? Можно развернуть и протестировать кластер Apache Kafka в облаке. Для этого оставьте заявку на сайте CloudMTS.