Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Apache Pulsar в действии

Покупка
Новинка
Артикул: 856451.01.99
Доступ онлайн
1 999 ₽
В корзину
Книга научит вас создавать масштабируемые системы потокового обмена сообщениями с использованием Pulsar. Вы начнете с быстрого ознакомления с корпоративными системами обмена сообщениями и откроете для себя уникальные преимущества Pulsar. Следуя четким описаниям и выполняя практические примеры, вы будете использовать фреймворк Pulsar Functions для разработки приложения на основе микросервисов. Издание предназначено для опытных разработчиков на языке Java. Предварительные знания о платформе Apache Pulsar не требуются.
Хьеррумгор, Д. Apache Pulsar в действии : практическое руководство / Д. Хьеррумгор ; пер. с англ. А. В. Снастина. – Москва : ДМК Пресс, 2023. - 491 с. – ISBN 978-5-93700-251-8. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2205046 (дата обращения: 17.04.2025). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Дэвид Хьеррумгор
Apache Pulsar в действии


Apache Pulsar in Action
DAVID KJERRUMGAARD
Foreword By Matteo Merli 


Apache Pulsar в действии
ДЭВИД ХЬЕРРУМГОР
С предисловием Маттео Мерли
Москва, 2023


УДК 004.43
ББК 32.973.2
Х98
Дэвид Хьеррумгор
Х98 	 Apache Pulsar в действии / пер. с англ. А. В. Снастина. – М.: ДМК Пресс, 
2023. – 490 с.: ил.
ISBN 978-5-93700-251-8
Книга научит вас создавать масштабируемые системы потокового обмена сообщениями с использованием Pulsar. Вы начнете с быстрого ознакомления с корпоративными системами обмена сообщениями и откроете 
для себя уникальные преимущества Pulsar. Следуя четким описаниям 
и выполняя практические примеры, вы будете использовать фреймворк 
Pulsar Functions для разработки приложения на основе микросервисов.
Издание предназначено для опытных разработчиков на языке Java. 
Предварительные знания о платформе Apache Pulsar не требуются.
УДК 004.43
ББК 32.973.2
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без 
письменного разрешения владельцев авторских прав.
©  2021 by Manning Publications Co.
©  Оформление, издание, перевод, 
ДМК Пресс, 2023
ISBN  (анг.) 978-1-61729-688-8
ISBN  (рус.) 978-5-93700-251-8


Моему отцу, который обещал прочитать эту книгу, даже если 
не сможет понять в ней ни слова. Возможно, твое сердце 
переполняется гордостью каждый раз, когда ты говоришь 
своим друзьям, что твой сын известный автор книг
Моей матери, которая верила в меня, когда никто не верил, 
и упорно трудилась для того, чтобы я получил любую 
возможность добиться успеха в жизни. Твой тяжелый труд, 
вера и стойкость всегда были источником вдохновения 
для меня. Спасибо, что передала мне эти черты характера, 
поскольку они были основой всех моих достижений, включая 
эту книгу


Краткое оглавление
ЧАСТЬ I. Знакомство с Apache Pulsar................................29
1  Введение в Apache Pulsar.........................................32
2  Концепции и архитектура Pulsar...........................77
3 
 Взаимодействие с Pulsar.......................................115
ЧАСТЬ II. Основы разработки с использованием 
Apache Pulsar................................................... 151
4  Функции Pulsar.....................................................153
5  Коннекторы ввода-вывода Pulsar...........................194
6  Обеспечение безопасности Pulsar...........................232
7  Реестр схем..........................................................270
ЧАСТЬ III. Практическая разработка приложений 
с использованием Apache Pulsar.......................................303
8  Паттерны применения Pulsar Functions................305
9  Паттерны устойчивости......................................329
10  Доступ к данным..................................................368
11  Машинное обучение в Pulsar..................................392
12  Периферийная аналитика....................................415


Оглавление
Предисловие от издательства........................................................... 13
Предисловие ....................................................................................... 14
Предисловие автора........................................................................... 16
Благодарности..................................................................................... 19
Об этой книге...................................................................................... 21
Об авторе.............................................................................................. 27
Об иллюстрации на обложке............................................................ 28
ЧАСТЬ I. Знакомство с Apache Pulsar................................29
1  Введение в Apache Pulsar............................................32
1.1. Корпоративные системы обмена сообщениями.................... 33
1.1.1. Основные функциональные возможности.................... 36
1.2. Паттерны потребления сообщений......................................... 37
1.2.1. Обмен сообщениями по схеме публикация–подписка....37
1.2.2. Очередь сообщений.......................................................... 38
1.3. История развития систем обмена сообщениями................... 39
1.3.1. Системы обмена сообщениями общего назначения.... 39
1.3.2. Программное обеспечение среднего звена, 
ориентированное на сообщения............................................... 40
1.3.3. Сервисная шина предприятия......................................... 42
1.3.4. Распределенные системы обмена сообщениями.......... 45
1.4. Сравнение с Apache Kafka.......................................................... 52
1.4.1. Многоуровневая архитектура.......................................... 52
1.4.2. Потребление сообщений.................................................. 55
1.4.3. Постоянство хранения данных....................................... 58
1.4.4. Подтверждение приема сообщений............................... 61
1.4.5. Длительность хранения сообщений............................... 64
1.5. Почему необходим именно Pulsar............................................. 65
1.5.1. Гарантированная доставка сообщений........................... 66
1.5.2. Неограниченная масштабируемость.............................. 66
1.5.3. Устойчивость к критическим ошибкам.......................... 67
1.5.4. Поддержка миллионов тем............................................... 69
1.5.5. Георепликация и активная отказоустойчивость........... 70
1.6. Варианты использования из реальной практики................... 72
1.6.1. Универсальные системы обмена сообщениями............ 72
1.6.2. Платформы микросервисов............................................. 73
1.6.3. Автомобили с сетевыми функциями............................... 74
1.6.4. Выявление случаев мошенничества................................ 74


1.7. Дополнительные информационные ресурсы......................... 75
1.8. Резюме........................................................................................... 76
2  Концепции и архитектура Pulsar..............................77
2.1. Физическая архитектура Pulsar................................................. 78
2.1.1. Многоуровневая архитектура Pulsar............................... 79
2.1.2. Уровень обслуживания без сохранения состояния...... 81
2.1.3. Уровень хранения потоковых данных............................ 84
2.1.4. Хранилище метаданных.................................................... 89
2.2. Логическая архитектура Pulsar.................................................. 92
2.2.1. Абоненты, пространства имен и темы........................... 92
2.2.2. Адресация тем в Pulsar...................................................... 97
2.2.3. Производители, потребители и подписки.................... 98
2.2.4. Типы подписки................................................................... 99
2.3. Долговременное хранение сообщений и сроки  
их хранения....................................................................................... 104
2.3.1. Долговременное хранение данных............................... 104
2.3.2. Квоты для журналов регистрации................................ 106
2.3.3. Окончание срока хранения сообщений....................... 108
2.3.4. Сравнение журнала регистрации сообщений 
и определения срока хранения сообщений........................... 109
2.4. Многоуровневое хранилище.................................................... 110
2.5. Резюме......................................................................................... 114
3  Взаимодействие с Pulsar..........................................115
3.1. Начинаем работать с Pulsar...................................................... 116
3.2. Администрирование Pulsar...................................................... 117
3.2.1. Создание абонента, пространства имен и темы......... 118
3.2.2. API администрирования на языке Java......................... 119
3.3. Клиенты Pulsar........................................................................... 120
3.3.1. Клиент Pulsar на языке Java............................................ 123
3.3.2. Клиент Pulsar на языке Python....................................... 134
3.3.3. Клиент Pulsar на языке Go.............................................. 138
3.4. Дополнительное администрирование................................... 144
3.4.1. Метрики постоянно хранимой темы............................ 144
3.4.2. Инспекция сообщений.................................................... 147
3.5. Резюме......................................................................................... 148
ЧАСТЬ II. Основы разработки с использованием 
Apache Pulsar................................................... 151
4  Функции Pulsar........................................................153
4.1. Потоковая обработка................................................................ 153
4.1.1. Обычная пакетная обработка........................................ 154
Оглавление
8


4.1.2. Микропакетная обработка данных............................... 155
4.1.3. Потоковая нативная обработка..................................... 155
4.2. Что такое Pulsar Functions........................................................ 156
4.2.1. Модель программирования............................................ 158
4.3. Разработка функций Pulsar....................................................... 159
4.3.1. Ориентированные на язык функции............................ 159
4.3.2. Pulsar SDK.......................................................................... 160
4.3.3. Функции с сохранением состояния.............................. 166
4.4. Тестирование функций Pulsar.................................................. 170
4.4.1. Модульное тестирование................................................ 171
4.4.2. Комплексное тестирование........................................... 173
4.5. Развертывание функций Pulsar............................................... 178
4.5.1. Генерация артефакта развертывания........................... 179
4.5.2. Конфигурация функции.................................................. 182
4.5.3. Развертывание функции................................................. 186
4.5.4. Жизненный цикл развертывания функции................ 189
4.5.5. Режимы развертывания.................................................. 190
4.5.6. Поток данных в функции Pulsar.................................... 192
4.6. Резюме......................................................................................... 193
5  Коннекторы ввода-вывода Pulsar.............................194
5.1. Что такое коннекторы ввода-вывода Pulsar.......................... 195
5.1.1. Коннекторы-приемники................................................. 196
5.1.2. Коннекторы-источники.................................................. 199
5.1.3. Коннекторы типа PushSource........................................ 201
5.2. Разработка коннекторов ввода-вывода Pulsar....................... 203
5.2.1. Разработка коннектора-приемника.............................. 203
5.2.2. Разработка коннектора PushSource.............................. 205
5.3. Тестирование коннекторов ввода-вывода Pulsar.................. 209
5.3.1. Модульное тестирование................................................ 209
5.3.2. Комплексное тестирование........................................... 211
5.3.3. Упаковка коннекторов ввода-вывода Pulsar................. 214
5.4. Развертывание коннекторов ввода-вывода Pulsar................ 215
5.4.1. Создание и удаление коннекторов................................ 215
5.4.2. Отладка развернутых коннекторов............................... 218
5.5. Встроенные коннекторы Pulsar............................................... 221
5.5.1. Запуск кластера MongoDB.............................................. 221
5.5.2. Связывание контейнеров Pulsar и MongoDB.............. 223
5.5.3. Конфигурирование и создание приемника  
для MongoDB.............................................................................. 224
5.6. Администрирование коннекторов ввода-вывода Pulsar...... 226
5.6.1. Вывод списка коннекторов............................................ 226
5.6.2. Мониторинг коннекторов.............................................. 228
5.7. Резюме......................................................................................... 231
Оглавление
9


Обеспечение безопасности Pulsar.............................. 232
6.1. Шифрование на транспортном уровне.................................. 233
6.2. Аутентификация........................................................................ 242
6.2.1. Аутентификация TLS....................................................... 243
6.2.2. Аутентификация JSON Web Token (JWT)..................... 249
6.3. Авторизация............................................................................... 255
6.3.1. Роли.................................................................................... 256
6.3.2. Пример сценария............................................................. 258
6.4. Шифрование сообщений......................................................... 264
6.5. Резюме......................................................................................... 269
7  Реестр схем............................................................. 270
7.1. Обмен информацией между микросервисами...................... 271
7.1.1. API микросервисов.......................................................... 272
7.1.2. Обоснование необходимости реестра схем................ 274
7.2. Реестр схем Pulsar...................................................................... 275
7.2.1. Архитектура...................................................................... 275
7.2.2. Управление версиями схем............................................ 279
7.2.3. Совместимость схемы..................................................... 279
7.2.4. Стратегии проверки совместимости схем................... 282
7.3. Использование реестра схем................................................... 287
7.3.1. Моделирование события заказа продуктов в Avro...... 289
7.3.2. События производства заказов продуктов.................. 292
7.3.3. События потребления заказов продуктов................... 295
7.3.4. Полный пример................................................................ 296
7.4. Развитие схемы.......................................................................... 299
7.5. Резюме......................................................................................... 302
ЧАСТЬ III. Практическая разработка приложений 
с использованием Apache Pulsar.......................................303
8  Паттерны применения Pulsar Functions...................305
8.1. Конвейеры данных.................................................................... 306
8.1.1. Процедурное программирование................................. 306
8.1.2. Программирование с использованием потока данных.... 307
8.2. Паттерны маршрутизации сообщений.................................. 310
8.2.1. Паттерн «разделитель»................................................... 310
8.2.2. Паттерн «динамический маршрутизатор».................. 315
8.2.3. Паттерн «маршрутизатор на основе содержимого»..... 319
8.3. Паттерны преобразования сообщений.................................. 322
8.3.1. Паттерн «транслятор сообщений»............................... 322
8.3.2. Паттерн «улучшение содержимого»............................. 325
8.3.3. Паттерн «фильтр содержимого»................................... 327
8.4. Резюме......................................................................................... 328
Оглавление
10


Похожие

Доступ онлайн
1 999 ₽
В корзину