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

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

Apache Kafka. Потоковая обработка и анализ данных. 2 изд
Автор: Палино Тодд, Петти Крит, Сиварам Раджини, Шапира Гвен
Дата выхода: 2023
Издательство: Питер
Количество страниц: 512
Тип файла: PDF
Добавил: codelibs

Внимание!!!! Книга удалена по требованию правообладателя!!!!

Отзывы о книге....17Предисловие ко второму изданию....19Предисловие к первому изданию....21Введение....24От издательства....29Глава 1. Знакомьтесь: Kafka....30Глава 2. Установка Kafka....52Глава 3. Производители Kafka: запись сообщений в Kafka....83Глава 4. Потребители Kafka: чтение данных из Kafka....115Глава 5. Программное управление Apache Kafka....154Глава 6. Внутреннее устройство Kafka....178Глава 7. Надежная доставка данных....209Глава 8. Семантика «точно один раз»....231Глава 9. Создание конвейеров данных....254Глава 10. Зеркальное копирование между кластерами....285Глава 11. Обеспечение безопасности Kafka....323Глава 12. Администрирование Kafka....369Глава 13. Мониторинг Kafka....405Глава 14. Потоковая обработка....450Приложение А. Установка Kafka в других операционных системах....495Приложение Б. Дополнительные инструменты Kafka....501Об авторах....509Иллюстрация на обложке....511Отзывы о книге....17Предисловие ко второму изданию....19Предисловие к первому изданию....21Введение....24Для кого предназначена эта книга....25Условные обозначения....25Использование примеров кода....26Благодарности....27От издательства....29Глава 1. Знакомьтесь: Kafka....30Обмен сообщениями по типу «публикация/подписка»....30С чего все начинается....31Отдельные системы организации очередей....33Открываем для себя систему Kafka....33Сообщения и пакеты....36Схемы....36Топики и разделы....37Производители и потребители....38Брокеры и кластеры....39Несколько кластеров....41Почему Kafka?....43Несколько производителей....43Несколько потребителей....43Сохранение информации на диске....43Масштабируемость....44Высокое быстродействие....44Особенности платформы....44Экосистема данных....45Сценарии использования....46История создания Kafka....48Проблема LinkedIn....48Рождение Kafka....49Открытый исходный код....50Коммерческое взаимодействие....51Название....51Приступаем к работе с Kafka....51Глава 2. Установка Kafka....52Настройка среды....52Выбрать операционную систему....52Установить Java....52Установить ZooKeeper....53Установка брокера Kafka....56Настройка брокера....58Основные параметры брокера....58Настройки топиков по умолчанию....61Выбор аппаратного обеспечения....67Пропускная способность дисков....67Емкость диска....68Память....68Передача данных по сети....69CPU....69Kafka в облачной среде....70Microsoft Azure....70Веб-сервисы Amazon Web Services....71Настройка кластеров Kafka....71Сколько должно быть брокеров....72Конфигурация брокеров....74Тонкая настройка операционной системы....74Промышленная эксплуатация....78Параметры сборки мусора....78Планировка ЦОД....80Размещение приложений на ZooKeeper....80Резюме....82Глава 3. Производители Kafka: запись сообщений в Kafka....83Обзор производителя....84Создание производителя Kafka....86Отправка сообщения в Kafka....88Синхронная отправка сообщения....89Асинхронная отправка сообщения....90Настройка производителей....91client.id....91acks....92Время доставки сообщения....93linger.ms....96buffer.memory....96compression.type....97batch.size....97max.in.flight.requests.per.connection....97max.request.size....98receive.buffer.bytes и send.buffer.bytes....98enable.idempotence....99Сериализаторы....99Пользовательские сериализаторы....100Сериализация с помощью Apache Avro....102Использование записей Avro с Kafka....104Разделы....107Реализация пользовательской стратегии секционирования....108Заголовки....110Перехватчики....110Квоты и регулирование запросов....112Резюме....114Глава 4. Потребители Kafka: чтение данных из Kafka....115Принципы работы потребителей Kafka....115Потребители и группы потребителей....115Группы потребителей и перебалансировка разделов....118Статические участники группы....122Создание потребителя Kafka....123Подписка на топики....123Цикл опроса....124Потокобезопасность....126Настройка потребителей....127fetch.min.bytes....127fetch.max.wait.ms....127fetch.max.bytes....128max.poll.records....128max.partition.fetch.bytes....128session.timeout.ms и heartbeat.interval.ms....128max.poll.interval.ms....129default.api.timeout.ms....130request.timeout.ms....130auto.offset.reset....130enable.auto.commit....131partition.assignment.strategy....131client.id....132client.rack....132group.instance.id....133receive.buffer.bytes и send.buffer.bytes....133offsets.retention.minutes....133Фиксация и смещения....134Автоматическая фиксация....135Фиксация текущего смещения....136Асинхронная фиксация....137Сочетание асинхронной и синхронной фиксации....139Фиксация заданного смещения....140Прослушивание на предмет перебалансировки....141Получение записей с заданными смещениями....144Выход из цикла....145Десериализаторы....147Пользовательские сериализаторы....148Использование десериализации Avro в потребителе Kafka....150Автономный потребитель: зачем и как использовать потребитель без группы....151Резюме....153Глава 5. Программное управление Apache Kafka....154Обзор AdminClient....155Асинхронный и в конечном итоге согласованный API....155Опции....156Плоская иерархия....156Дополнительные примечания....156Жизненный цикл AdminClient: создание, настройка и закрытие....157client.dns.lookup....158request.timeout.ms....159Управление основными топиками....160Управление конфигурацией....164Управление группами потребителей....165Изучение групп потребителей....166Модификация групп потребителей....168Метаданные кластера....170Расширенные операции администратора....170Добавление разделов в топик....170Удаление записей из топика....171Выборы лидера....172Перераспределение реплик....173Тестирование....174Резюме....177Глава 6. Внутреннее устройство Kafka....178Членство в кластере....178Контроллер....179KRaft: новый контроллер Kafka на основе Raft....181Репликация....183Обработка запросов....186Запросы от производителей....189Запросы на извлечение....189Другие запросы....194Физическое хранилище....195Многоуровневое хранилище....196Распределение разделов....198Управление файлами....200Формат файлов....200Индексы....203Сжатие....204Как происходит сжатие....204Удаленные события....206Когда выполняется сжатие топиков....207Резюме....208Глава 7. Надежная доставка данных....209Гарантии надежности....210Репликация....211Настройка брокера....212Коэффициент репликации....213«Нечистый» выбор ведущей реплики....214Минимальное число согласованных реплик....216Поддержание синхронизации реплик....217Долговременное хранение на диске....217Использование производителей в надежной системе....218Отправка подтверждений....219Настройка повторов отправки производителями....220Дополнительная обработка ошибок....221Использование потребителей в надежной системе....221Свойства конфигурации потребителей, важные для надежной обработки....222Фиксация смещений в потребителях явным образом....224Проверка надежности системы....226Проверка конфигурации....226Проверка приложений....228Мониторинг надежности при промышленной эксплуатации....228Резюме....230Глава 8. Семантика «точно один раз»....231Идемпотентный производитель....232Как работает идемпотентный производитель....232Ограничения идемпотентного производителя....235Как использовать идемпотентный производитель Kafka....236Транзакции....237Сценарии использования транзакций....237Какие проблемы решают транзакции....238Как транзакции гарантируют «точно один раз»....239Какие проблемы не решаются транзакциями....242Как использовать транзакции....245Идентификаторы транзакций и ограждения....248Как работают транзакции....250Производительность транзакций....252Резюме....253Глава 9. Создание конвейеров данных....254Соображения по поводу создания конвейеров данных....255Своевременность....255Надежность....256Высокая/переменная нагрузка....257Форматы данных....257Преобразования....258Безопасность....259Обработка сбоев....260Связывание и гибкость....261Когда использовать Kafka Connect, а когда — клиенты-производители и клиенты-потребители....262Kafka Connect....263Запуск Kafka Connect....263Пример коннектора: файловый источник и файловый приемник....266Пример коннектора: из MySQL в Elasticsearch....269Преобразования одиночных сообщений....276Взглянем на Kafka Connect поближе....278Альтернативы Kafka Connect....282Фреймворки ввода и обработки данных для других хранилищ....282ETL-утилиты на основе GUI....283Фреймворки потоковой обработки....283Резюме....283Глава 10. Зеркальное копирование между кластерами....285Сценарии зеркального копирования данных между кластерами....286Мультикластерные архитектуры....287Реалии взаимодействия между различными ЦОД....287Архитектура с топологией типа «звезда»....289Архитектура типа «активный — активный»....291Архитектура типа «активный — резервный»....293Эластичные кластеры....301Утилита MirrorMaker (Apache Kafka)....302Настройка MirrorMaker....304Топология мультикластерной репликации....307Обеспечение безопасности MirrorMaker....308Развертывание MirrorMaker для промышленной эксплуатации....309Тонкая настройка MirrorMaker....314Другие программные решения для зеркального копирования между кластерами....317uReplicator компании Uber....317LinkedIn Brooklin....318Решения Confluent для зеркального копирования между ЦОД....319Резюме....322Глава 11. Обеспечение безопасности Kafka....323Блокировка Kafka....324Протоколы безопасности....326Аутентификация....328SSL....329SASL....334Повторная аутентификация....347Обновления системы безопасности без простоя....349Шифрование....350Сквозное шифрование....351Авторизация....353AclAuthorizer....354Настройка авторизации....358Вопросы безопасности....360Аудит....361Обеспечение безопасности ZooKeeper....362SASL....362SSL....363Авторизация....364Обеспечение безопасности платформы....364Защита паролей....365Резюме....367Глава 12. Администрирование Kafka....369Операции с топиками....369Создание нового топика....370Вывод списка всех топиков в кластере....371Подробное описание топиков....372Добавление разделов....373Уменьшение количества разделов....374Удаление топика....375Группы потребителей....376Вывод списка и описание групп....376Удаление группы....377Управление смещениями....378Динамические изменения конфигурации....379Переопределение значений настроек топиков по умолчанию....380Переопределение настроек клиентов и пользователей по умолчанию....382Переопределение настроек конфигурации брокера по умолчанию....383Описание переопределений настроек....384Удаление переопределений настроек....385Производство и потребление....385Консольный производитель....385Консольный потребитель....388Управление разделами....391Выбор предпочтительной ведущей реплики....391Изменение реплик раздела....393Сброс на диск сегментов журнала....398Проверка реплик....400Другие утилиты....401Небезопасные операции....402Перенос контроллера кластера....402Отмена удаления топиков....403Удаление топиков вручную....403Резюме....404Глава 13. Мониторинг Kafka....405Основы показателей....405Как получить доступ к показателям....405Какие показатели нам нужны....407Контроль состояния приложения....409Цели на уровне обслуживания....410Определения уровня сервиса....410Какие показатели являются хорошими индикаторами уровня обслуживания....411Использование целей уровня обслуживания для оповещений....412Показатели брокеров Kafka....414Диагностика проблем с кластером....414Искусство недореплицированных разделов....416Показатели брокеров....422Показатели топиков и разделов....432Мониторинг JVM....435Мониторинг ОС....436Журналирование....438Мониторинг клиентов....439Показатели производителя....439Показатели потребителей....442Квоты....446Мониторинг отставания....447Сквозной мониторинг....448Резюме....449Глава 14. Потоковая обработка....450Что такое потоковая обработка....452Основные понятия потоковой обработки....455Топология....455Время....456Состояние....458Таблично-потоковый дуализм....459Временные окна....461Гарантии обработки....462Паттерны проектирования потоковой обработки....462Обработка событий по отдельности....463Обработка с использованием локального состояния....463Многоэтапная обработка/повторное разделение на разделы....465Обработка с применением внешнего справочника: соединение потока данных с таблицей....467Соединение таблицы с таблицей....468Соединение потоков....470Внеочередные события....471Повторная обработка....472Интерактивные запросы....473Kafka Streams в примерах....474Подсчет количества слов....474Сводные показатели фондовой биржи....477Обогащение потока событий перехода по ссылкам....480Kafka Streams: обзор архитектуры....483Построение топологии....483Оптимизация топологии....484Тестирование топологии....484Масштабирование топологии....485Как пережить отказ....489Сценарии использования потоковой обработки....490Как выбрать фреймворк потоковой обработки....492Резюме....494Приложение А. Установка Kafka в других операционных системах....495Установка в Windows....495Использование Windows Subsystem для Linux....495Использование Java естественным образом....496Установка в macOS....498Использование Homebrew....499Установка вручную....500Приложение Б. Дополнительные инструменты Kafka....501Комплексные платформы....501Развертывание и управление кластером....503Мониторинг и исследование данных....505Клиентские библиотеки....506Потоковая обработка....507Об авторах....509Иллюстрация на обложке....511

При работе любого корпоративного приложения образуются данные: файлы журналов, показатели, информация об активности пользователей, исходящие сообщения и другие. Правильное управление этими данными не менее важно, чем сами данные. Если вы архитектор, разработчик или инженер-технолог, но вы пока не знакомы с Apache Kafka, то из этой обновленной книги вы узнаете, как работать с потоковой платформой Kafka, позволяющей обрабатывать потоки данных в реальном времени. Дополнительные главы посвящены API AdminClient от Kafka, транзакциям, новым функциям безопасности и изменениям в инструментарии.Инженеры из Confluent и LinkedIn, ответственные за разработку Kafka, объясняют, как с помощью этой платформы развертывать производственные кластеры Kafka, писать надежные управляемые событиями микросервисы и создавать масштабируемые приложения для потоковой обработки данных. На подробных примерах вы изучите принципы проектирования Kafka, гарантии надежности, ключевые API и детали архитектуры.


Похожее:

Список отзывов:

Нет отзывов к книге.