Apache Pulsar в действии

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Книга научит вас создавать масштабируемые системы потокового обмена сообщениями с использованием Pulsar. Вы начнете с быстрого ознакомления с корпоративными системами обмена сообщениями и откроете для себя уникальные преимущества Pulsar. Следуя четким описаниям и выполняя практические примеры, вы будете использовать фреймворк Pulsar Functions для разработки приложения на основе микросервисов. Издание предназначено для опытных разработчиков на языке Java. Предварительные знания о платформе Apache Pulsar не требуются.

Author(s): Дэвид Хьеррумгор
Edition: 1
Publisher: ДМК Пресс
Year: 2023

Language: Russian
Commentary: Publisher's PDF
Pages: 490
City: М.
Tags: Machine Learning; Neural Networks; Security; Java; Internet of Things; Stream Processing; Messages; Microservices; Scalability; High Availability; High Performance; Unit Testing; MQTT; Testing; Data Processing; Data Pipelines; Apache Pulsar; Kafka

Об иллюстрации на обложке
Часть I
Знакомство с Apache Pulsar
Об авторе
Об этой книге
Благодарности
Предисловие автора
Предисловие
Предисловие от издательства
Введение в Apache Pulsar
1.1. Корпоративные системы обмена сообщениями
1.1.1. Основные функциональные возможности
1.2. Паттерны потребления сообщений
1.2.1. Обмен сообщениями по схеме публикация–подписка
1.2.2. Очередь сообщений
1.3. История развития систем обмена сообщениями
1.3.1. Системы обмена сообщениями общего назначения
1.3.2. Программное обеспечение среднего звена, ориентированное на сообщения
1.3.3. Сервисная шина предприятия
1.3.4. Распределенные системы обмена сообщениями
1.4. Сравнение с Apache Kafka
1.4.1. Многоуровневая архитектура
1.4.2. Потребление сообщений
1.4.3. Постоянство хранения данных
1.4.4. Подтверждение приема сообщений
1.4.5. Длительность хранения сообщений
1.5. Почему необходим именно Pulsar
1.5.1. Гарантированная доставка сообщений
1.5.2. Неограниченная масштабируемость
1.5.3. Устойчивость к критическим ошибкам
1.5.4. Поддержка миллионов тем
1.5.5. Георепликация и активная отказоустойчивость
1.6. Варианты использования из реальной практики
1.6.1. Универсальные системы обмена сообщениями
1.6.2. Платформы микросервисов
1.6.3. Автомобили с сетевыми функциями
1.6.4. Выявление случаев мошенничества
1.7. Дополнительные информационные ресурсы
1.8. Резюме
Концепции и архитектура Pulsar
2.1. Физическая архитектура Pulsar
2.1.1. Многоуровневая архитектура Pulsar
2.1.2. Уровень обслуживания без сохранения состояния
2.1.3. Уровень хранения потоковых данных
2.1.4. Хранилище метаданных
2.2. Логическая архитектура Pulsar
2.2.1. Абоненты, пространства имен и темы
2.2.2. Адресация тем в Pulsar
2.2.3. Производители, потребители и подписки
2.2.4. Типы подписки
2.3. Долговременное хранение сообщений и сроки их хранения
2.3.1. Долговременное хранение данных
2.3.2. Квоты для журналов регистрации
2.3.3. Окончание срока хранения сообщений
2.3.4. Сравнение журнала регистрации сообщений и определения срока хранения сообщений
2.4. Многоуровневое хранилище
2.5. Резюме
Взаимодействие с Pulsar
3.1. Начинаем работать с Pulsar
3.2. Администрирование Pulsar
3.2.1. Создание абонента, пространства имен и темы
3.2.2. API администрирования на языке Java
3.3. Клиенты Pulsar
3.3.1. Клиент Pulsar на языке Java
3.3.2. Клиент Pulsar на языке Python
3.3.3. Клиент Pulsar на языке Go
3.4. Дополнительное администрирование
3.4.1. Метрики постоянно хранимой темы
3.4.2. Инспекция сообщений
3.5. Резюме
Часть II
Основы разработки с использованием Apache Pulsar
Функции Pulsar
4.1. Потоковая обработка
4.1.1. Обычная пакетная обработка
4.1.2. Микропакетная обработка данных
4.1.3. Потоковая нативная обработка
4.2. Что такое Pulsar Functions
4.2.1. Модель программирования
4.3. Разработка функций Pulsar
4.3.1. Ориентированные на язык функции
4.3.2. Pulsar SDK
4.3.3. Функции с сохранением состояния
4.4. Тестирование функций Pulsar
4.4.1. Модульное тестирование
4.4.2. Комплексное тестирование
4.5. Развертывание функций Pulsar
4.5.1. Генерация артефакта развертывания
4.5.2. Конфигурация функции
4.5.3. Развертывание функции
4.5.4. Жизненный цикл развертывания функции
4.5.5. Режимы развертывания
4.5.6. Поток данных в функции Pulsar
4.6. Резюме
Коннекторы ввода-вывода Pulsar
5.1. Что такое коннекторы ввода-вывода Pulsar
5.1.1. Коннекторы-приемники
5.1.2. Коннекторы-источники
5.1.3. Коннекторы типа PushSource
5.2. Разработка коннекторов ввода-вывода Pulsar
5.2.1. Разработка коннектора-приемника
5.2.2. Разработка коннектора PushSource
5.3. Тестирование коннекторов ввода-вывода Pulsar
5.3.1. Модульное тестирование
5.3.2. Комплексное тестирование
5.3.3. Упаковка коннекторов ввода-вывода Pulsar
5.4. Развертывание коннекторов ввода-вывода Pulsar
5.4.1. Создание и удаление коннекторов
5.4.2. Отладка развернутых коннекторов
5.5. Встроенные коннекторы Pulsar
5.5.1. Запуск кластера MongoDB
5.5.2. Связывание контейнеров Pulsar и MongoDB
5.5.3. Конфигурирование и создание приемника для MongoDB
5.6. Администрирование коннекторов ввода-вывода Pulsar
5.6.1. Вывод списка коннекторов
5.6.2. Мониторинг коннекторов
5.7. Резюме
Обеспечение безопасности Pulsar
6.1. Шифрование на транспортном уровне
6.2. Аутентификация
6.2.1. Аутентификация TLS
6.2.2. Аутентификация JSON Web Token (JWT)
6.3. Авторизация
6.3.1. Роли
6.3.2. Пример сценария
6.4. Шифрование сообщений
6.5. Резюме
Реестр схем
7.1. Обмен информацией между микросервисами
7.1.1. API микросервисов
7.1.2. Обоснование необходимости реестра схем
7.2. Реестр схем Pulsar
7.2.1. Архитектура
7.2.2. Управление версиями схем
7.2.3. Совместимость схемы
7.2.4. Стратегии проверки совместимости схем
7.3. Использование реестра схем
7.3.1. Моделирование события заказа продуктов в Avro
7.3.2. События производства заказов продуктов
7.3.3. События потребления заказов продуктов
7.3.4. Полный пример
7.4. Развитие схемы
7.5. Резюме
Часть 3
Практическая разработка приложений с использованием Apache Pulsar
Паттерны применения Pulsar Functions
8.1. Конвейеры данных
8.1.1. Процедурное программирование
8.1.2. Программирование с использованием потока данных
8.2. Паттерны маршрутизации сообщений
8.2.1. Паттерн «разделитель»
8.2.2. Паттерн «динамический маршрутизатор»
8.2.3. Паттерн «маршрутизатор на основе содержимого»
8.3. Паттерны преобразования сообщений
8.3.1. Паттерн «транслятор сообщений»
8.3.2. Паттерн «улучшение содержимого»
8.3.3. Паттерн «фильтр содержимого»
8.4. Резюме
Паттерны устойчивости
9.1. Устойчивость Pulsar Functions
9.1.1. Неблагоприятные события
9.1.2. Обнаружение ошибок
9.2. Паттерны проектных решений по обеспечению устойчивости
9.2.1. Паттерн повтора
9.2.2. Паттерн «прерыватель замкнутого цикла»
9.2.3. Паттерн «ограничитель скорости»
9.2.4. Паттерн «ограничитель времени»
9.2.5. Паттерн «кеш»
9.2.6. Паттерн «откат»
9.2.7. Паттерн «обновление идентификационных данных»
9.3. Несколько уровней устойчивости
9.4. Резюме
Доступ к данным
10.1. Источники данных
10.2. Варианты использования доступа к данным
10.2.1. Проверка устройства
10.2.2. Данные о локации водителя
10.3. Резюме
Машинное обучение в Pulsar
11.1. Развертывание моделей машинного обучения
11.1.1. Режим пакетной обработки
11.1.2. Режим обработки почти в реальном времени
11.2. Развертывание модели в режиме почти реального времени
11.3. Векторы признаков
11.3.1. Хранилища признаков
11.3.2. Вычисление признаков
11.4. Оценка времени доставки
11.4.1. Экспорт модели машинного обучения
11.4.2. Отображение вектора признаков
11.4.3. Развертывание модели
11.5. Нейронные сети
11.5.1. Тренировка нейронной сети
11.5.2. Развертывание нейронной сети средствами языка Java
11.6. Резюме
Предметный указатель
Приложение B. Георепликация
В.1. Синхронная георепликация
В.2. Асинхронная георепликация
В.2.1. Конфигурирование асинхронной георепликации
В.3. Паттерны асинхронной георепликации
В.3.1. Георепликация по схеме «ведущий–ведущий»
В.3.2. Георепликация по схеме «активный–резервный»
В.3.3. Агрегатная георепликация
Приложение A. Запуск Pulsar в Kubernetes
A.1. Создание кластера Kubernetes
A.1.1. Предварительные условия для установки
А.1.2. Minikube
А.2. Pulsar Helm chart
А.2.1. Что такое Helm
А.2.2. Pulsar Helm chart
А.3. Использование Pulsar Helm chart
А.3.1. Администрирование Pulsar в среде Kubernetes
А.3.2. Конфигурирование клиентов
Периферийная аналитика
12.1. Архитектура промышленного интернета вещей
12.1.1. Уровень восприятия и реакции
12.1.2. Уровень передачи данных
12.1.3. Уровень обработки данных
12.2. Уровень обработки данных на основе Pulsar
12.3. Периферийная аналитика
12.3.1. Телеметрические данные
12.3.2. Одномерные и многомерные наборы данных
12.4. Одномерный анализ
12.4.1. Снижение шума
12.4.2. Статистический анализ
12.4.3. Аппроксимация
12.5. Многомерный анализ
12.5.1. Создание двунаправленной сетки обмена сообщениями
12.5.2. Создание многомерного набора данных
12.6. Послесловие
12.7. Резюме