Kafka Streams в действии. Приложения и микросервисы, управляемые событиями

Беджек Билл

Код товара: 5066421
(0 оценок)Оценить
ОтзывНаписать отзыв
ВопросЗадать вопрос
Нет изображения
Фиксированная скидка
Акция до 31.12.2026
-35%
4 790
7 368
Доставим в
г. Москва
Курьером
бесплатно от 10 000 ₽
В пункт выдачи
от 200 ₽
бесплатно от 10 000 ₽
Точная стоимость доставки рассчитывается при оформлении заказа
Издательство:
Год издания:
2026

Описание

Характеристики

Корпоративным приложениям приходится ежедневно обрабатывать тысячи и даже миллионы событий. Благодаря интуитивно понятному API и безупречной надежности библиотека Kafka Streams по праву занимает в этих системах центральное место. Она обеспечивает именно ту мощь и простоту, которые необходимы для управления обработкой событий в реальном времени или обмена сообщениями между микросервисами.
Создавайте приложения потоковой обработки на удивительной платформе Apache Kafka. Переработанное новое издание охватывает более широкий спектр потоковых архитектур и включает интеграцию данных с Kafka Connect. Здесь собраны практические примеры, которые познакомят вас с компонентами и брокерами, а также пояснят особенности управления схемами. Попутно вы освоите приемы использования Kafka с фреймворком Spring, методы низкоуровневого управления узлами-обработчиками и хранилищами состояний, сохранения данных событий с помощью ksqlDB и тестирования потоковых приложений.
код в Майшоп
5066421
возрастная категория
18+ (нет данных)
количество томов
1
размеры
235x165x23 мм
ISBN
978-5-4461-4196-8
вес
770 г

Содержание

Предисловие
Вступление
Благодарности
О книге
Кому стоит прочитать эту книгу
Структура издания
О коде
Другие онлайн-ресурсы
Об авторе
Иллюстрация на обложке
От издательства
Часть I
Глава 1. Добро пожаловать в Kafka Streams
1.1. Потоковая обработка событий
1. 2 . Что такое событие
1.3 . Пример потока событий
1. 4 . Знакомство с Apache Kafka, платформой
потоковой обработки событий . .
1.4.1. Брокеры Kafka
1.4.2 . Schema Registry
1. 4 . 3 . Производители и потребители
1. 4 . 4 . Kafka Connect
1.4.5 .Kafka Streams
1.4.6 . ksqlDB
1. 5 . Конкретный пример применения платформы
потоковой обработки событий Kafka
Итоги главы
Глава 2. Брокеры Kafka
2.1. Введение в брокеры Kafka
2.2 . Запросы на производство
2 .3 . Запросы на извлечение
2 . 4 . Топики и разделы
2 .4.1. Смещения
2 .4.2 . Выбор правильного количества
разделов
2.5 . Отправка первых сообщений
2 5 1 Создание топика 2 5 2 Создание
записей в командной строке
2.5 .3 . Потребление записей из командной
строки
2.5 .4 . Разделы в действии
2 6 Сегменты
2.6 .1. Хранение данных
2.6.2 .Сжатые топики
2.6.3 . Содержимое каталога раздела топика
2.7 . Многоуровневое хранилище
2 .8 . Метаданные кластера
2 .9 . Ведущие и ведомые брокеры
2 .9.1. Репликация
2.10 . Проверка работоспособности брокера
2 10 1 Процент простоя обработчика запросов 2 10
2 Процент простоя сетевого обработчика
2.10 .3 . Несинхронизированные разделы
Итоги главы
Часть II
Глава 3. Schema Registry
3.1. Объекты
3.2 . Что такое схема и зачем она нужна
3.2.1.Что такое Schema Registry
3.2.2 . Запуск Schema Registry
3.2 .3 . Архитектура
3.2 .4 . Использование Schema Registry REST
API
3.2.5 . Регистрация схемы
3.2.6 . Плагины и инструменты сериализации
3.2.7 . Выгрузка файла схемы
3.2 .8 . Генерация кода из схем
3.2 .9 . Полный пример
3 .3 . Стратегии именования субъектов
3 .3.1. TopicNameStrategy
3 .3.2 . RecordNameStrategy
3 3 3 TopicRecordNameStrategy 3 4
Совместимость схем
3 . 4.1. Обратная совместимость
3 4 2 Прямая совместимость 3 4 3 Полная
совместимость
3 4 4 Отсутствие совместимости 3 5 Ссылки
на схемы
3.6 . Ссылки на схемы и наличие нескольких
событий в топике
3.7 . Сериализаторы и десериализаторы
Schema Registry
3.7.1. Сериализаторы и десериализаторы Avro
3.7.2 . Protobuf
3.7 . 3 JSON Schema
3 8 Сериализация без Schema Registry Итоги
главы
Глава 4. Клиенты Kafka
4.1. Знакомство с клиентами Kafka
4.2 . Производство записей с KafkaProducer
4.2.1. Конфигурации производителя
4.2.2 . Семантика доставки в Kafka
4.2 .3 . Назначение разделов
4.2 .4 . Реализация своего механизма
назначения разделов
4.2.5 . Подключение механизма назначения
разделов
4.2.6 . Отметки времени
4 .3 . Потребление записей с KafkaConsumer
4 . 3.1. Интервал опроса
4 .3.2 . Идентификатор группы
4 .3 .3 . Применение стратегий назначения
разделов
4 . 3 . 4 . Статическое членство
4 . 3.5 . Фиксация смещений
4 .4 . Семантика доставки "точно один раз"
4 . 4.1. Идемпотентный производитель
4 .4.2 . Транзакционный производитель
4 .4 .3 . Потребители в транзакциях
4 .4 .4 . Производители и потребители в
транзакционном окружении
4.5 . Использование Admin API для
программного управления топиками . . . .
4.6 . Обработка нескольких типов событий в
одном топике
4 6 1 Создание нескольких типов событий 4 6 2
Потребление событий нескольких типов Итоги
главы
Глава 5. Kafka Connect
5.1. Введение в Kafka Connect
5.2 . Интеграция внешних приложений с Kafka
5 .3 . Начало работы с Kafka Connect
5 .4 . Применение преобразований
отдельных сообщений
5.5 . Добавление коннектора-приемника
5.6 . Создание и развертывание собственного
коннектора
5.6 .1. Реализация коннектора
5.6.2 . Создание динамического коннектора с
помощью потока мониторинга
5.6.3 . Создание пользовательского
преобразования
Итоги главы
Часть III
Глава 6. Разработка приложений Kafka Streams
6 .1. Обзор Kafka Streams
6.2 . Kafka Streams DSL
6.3 . Программа Hello World для Kafka Streams
6.3.1. Создание топологии для приложения
Yelling
6.3.2 . Настройка Kafka Streams
6.3 .3 . Создание объектов Serde
6.4 . Маскировка номеров кредитных карт и
отслеживание вознаграждений
за покупки
6.4.1. Создание узла-источника и маскирующего
узла-обработчика
6.4.2 . Добавление узла, извлекающего
закономерности при выполнении
покупок
6.4 . 3 . Создание узла, определяющего
величину вознаграждения
6.4 .4 . Использование объектов Serde
с сериализаторами и десериализаторами в Kafka
Streams
6.4.5 . Kafka Streams и Schema Registry
6.5 . Интерактивная разработка
6.6 . Выбор событий для обработки
6.6 .1. Фильтрация покупок
6.6.2 . Разделение/ветвление потока данных
6 6 3 Именование узлов топологии
6.6.4 . Динамическая маршрутизация
сообщений
Итоги главы
Глава 7. Потоки данных и состояние
7.1. С состоянием и без состояния
7.2 . Добавление операций с состоянием в
Kafka Streams
7.2.1. Подробности о группировке
7.2.2 .Агрегирование и свертка
7.2 .3 .Перераспределение данных
7.2 .4 . Проактивное перераспределение
7.2.5 . Перераспределение для увеличения
количества задач
7.2.6 . Использование оптимизаций Kafka
Streams
7 .3 . Соединение потоков
7 3 1 Реализация соединения потоков
7 .3.2 . Особенности работы соединений
7 . 3 . 3 . ValueJoiner
7 . 3 . 4 . JoinWindows
7 3 5 Совместимое секционирование 7 3 6
StreamJoined 7 3 7 Другие варианты соединений 7 3
8 Внешние соединения
7 .3 .9 . Внешнее левое соединение
7 . 4 . Хранилища состояний в Kafka Streams
7 . 4.1. Восстановление хранилища состояний с
помощью топика журналирования изменений
7 .4.2 . Резервные задачи
7 .4 .3 . Назначение хранилищ состояний в Kafka
Streams
7 . 4 . 4 .Местоположение хранилищ состояний в
файловой системе. . .
7 .4.5 . Именование операций с состоянием
7 . 4.6 . Настройка типа хранилища
7 .4.7 . Настройка топиков журналирования
изменений
Итоги главы
Глава 8. KTable API
8.1. KTable: поток обновлений
8.1.1. Обновления записей (журнал изменений)
8.1. 2 . KStream и KTable в действии
8.2 . Объекты KTable имеют хранимое
состояние
8 3 KTable
8 . 4 . Агрегирование с помощью KTable
8.5 . GlobalKTable
8.6 . Соединение с таблицами
8.6 .1. Соединение потоков и таблиц
8.6.2 . Версионированные таблицы KTable
8.6.3 . Соединение потоков и глобальных
таблиц
8.6.4 . Соединение двух таблиц
Итоги главы
Глава 9. Оконные операции и отметки времени
9.1. Роль и типы окон
9.1.1. Прыгающие окна
9.1. 2 . Кувыркающиеся окна
9 1 3 Сеансовые окна
9 1 4 Скользящие окна
9.1. 5 . Выравнивание окон по времени
9.1. 6 . Получение результатов в окне для
анализа
9.2 . Обработка неупорядоченных данных с
отсрочкой
9 .3 . Окончательные результаты оконного
агрегирования
9 . 3.1. Строгая буферизация
9 .3.2 . Жадная буферизация
9 .4 . Отметки времени в Kafka Streams
9.5 . TimestampExtractor
9.5.1. Метод WallclockTimestampExtractorSystem .
currentTimeMillis()
9.5.2 . Пользовательский экстрактор отметок
времени
9.5 . 3 . Выбор TimestampExtractor для
использования
9.6 . Время потока
Итоги главы
Глава 10. API узлов-обработчиков
10 .1. Создание топологии с использованием
источников, узлов-обработчиков
и стоков
10.1.1 . Добавление узла-источника
10 1 2 Добавление узла-обработчика
10 1 3 Добавление узла-приемника
10.2 . Углубляемся в API узлов-обработчиков
на примере узла биржевой
аналитики
10.2.1 . Узел-обработчик показателей акций
10 2 2 Семантика пунктуации
10.2 .3 .Метод process()
10.2 .4 . Выполнение пунктуатора
10.3 . Агрегирование, управляемое данными
10.4 . Интеграция API узлов-обработчиков и
Kafka Streams API
Итоги главы
Глава 11. ksqlDB
11.1. Знакомство с ksqlDB
11.2 . Подробности о потоковых запросах
11 . 3 . Постоянные запросы, а также
запросы push и pull
11 4 Создание потоков и таблиц
11.5 . Интеграция с Schema Registry
11.6 . Расширенные возможности ksqlDB
Итоги главы
Глава 12. Spring Kafka
12.1. Введение в Spring
12.2 . Использование Spring для создания
приложений с поддержкой Kafka. . .
12.2.1 . Компоненты приложения Spring Kafka
12.2.2 . Расширенные требования к приложению
12 . 3 . Spring Kafka Streams
Итоги главы
Глава 13. Интерактивные запросы Kafka Streams
13.1 . Kafka Streams и обмен информацией
13.2 . Интерактивные запросы
13.2.1. Создание приложения интерактивных
запросов
с помощью Spring Boot
Итоги главы
Глава 14. Тестирование
14.1 . Разница между модульным и интеграционным
тестированием . . . .
14.1.1. Тестирование производителей и
потребителей Kafka
14.1. 2 . Тестирование операторов Kafka
Streams
14.1.3 . Тестирование топологии
14.1. 4 . Тестирование сложных приложений
Kafka Streams
14.1. 5 . Эффективное интеграционное
тестирование
Итоги главы
Приложения
Приложение A. Практикум по совместимости схем
А .1. Обратная совместимость
A . 2 . Прямая совместимость
А 3 Полная совместимость
Приложение Б. Ресурсы Confluent
Б .1. Confluent Cloud
Б . 2 . Интерфейс командной строки Confluent
Б . 3 . Запуск Confluent локально
Приложение В. Работа с Avro, Protobuf и JSON
Schema
В .1 . Apache Avro
В .1.1. Значения по умолчанию и псевдонимы
В .1. 2 . Объединения
В . 2 . Protocol Buffers
В 2 1 Сложные сообщения
В . 2.2 . Импортирование
В . 2 .3 . Тип oneof
В . 2 .4 . Генерация кода
В . 2.5 . Конкретные и динамические типы
В .3 JSON Schema
В . 3.1. Вложенные объекты
В .3.2 . Ссылки JSON
В . 3 . 3 . Ссылки на схему JSON Schema в Schema
Registry
В .3 .4 . Генерация кода на основе схемы JSON
Schema
В . 3.5 . Конкретные и обобщенные типы
Приложение Г. Архитектура Kafka Streams
Г .1. Общий вид архитектуры
Г . 2 . Потребители и производители в Kafka
Streams
Г.3 . Назначение, распределение и обработка
событий
Г.4 . Потоки выполнения в Kafka Streams:
StreamThread
Г. 5 . Обработка записей

Отзывы

Вопросы

Поделитесь своим мнением об этом товаре с другими покупателями — будьте первыми!

Дарим бонусы за отзывы!

За какие отзывы можно получить бонусы?
  • За уникальные, информативные отзывы, прошедшие модерацию
Как получить больше бонусов за отзыв?
  • Публикуйте фото или видео к отзыву
  • Пишите отзывы на товары с меткой "Бонусы за отзыв"
Правила начисления бонусов
Задайте вопрос, чтобы узнать больше о товаре
Если вы обнаружили ошибку в описании товара «Kafka Streams в действии. Приложения и микросервисы, управляемые событиями» (авторы: Беджек Билл), то выделите её мышкой и нажмите Ctrl+Enter. Спасибо, что помогаете нам стать лучше!
Ваш населённый пункт:
г. Москва
Выбор населённого пункта