Выходные данные не указаны. Дайджест выполнен для личного употребления Krocodl (https://www.linkedin.com/in/victoralekseev/) в 2020-ом году. 105 с.
Отражает исключительно субъективный взгляд автора.
Бесплатен для любого некоммерческого использования.
Выполнен на основании следующей литературы:
Neha Narkhede, Gwen Shapira, Todd Palino "Kafka: The Definitive Guide"
Jakub Korab "Understanding Message Brokers"
Dylan Scott "Kafka in Action"
Yeva Byzek "Best Practices for Developing ApacheKafka Application Confluent Cloud"
Всяческие статьи, главным образом с Habr и Medium
Введение:
Основные понятия
Основные виды API
Основные этапы эволющии
Общие решения
Установка:
Apache ZooKeeper
Установка Kafka
Выбор железа
Настройка кластера для реальной эксплуатации
Producers:
Создание KafkaProducer
Сериализация
TimeStamp
Обработка ошибок
Ручное управление разделами
Интерцепторы
Работа с транзакциями
Consumers:
Перебалансировка разделов
Потребление записей
Тюнинг потребителей
Адресация сообщений
Подтверждение потребляемых записей
Участие в перебалансировке
Ручное управление смещениями
Автономный (без группы) потребитель
Масшибируемость чтения
Ошибки обработки сообщений
Интерцепторы
Транзакции
Внутреннее устройство:
Основные действующие лица
Обработка запросов
Физическое хранение
Надежность доставки данных:
Настройка брокера
Настройка производителей
Настройка потребителей
Однократная доставка данных (EOS, exactly-once semantics)
Оптимизация:
Пропускная способность (Throughput)
Время отклика (Latency)
Надежность хранения (Durability)
Доступность(Availability)
Интеграция:
Основные функциональные требования
Использование
Архитектура
Альтернативы
Зеркалирование кластеров:
Мульти кластерные архитектуры
Mirror Maker
Тестирование:
Проверка конфигурации
Тестирование производительности
Администрирование:
Операции с темами
Группы потребителей
Управление смещениями
Динамическое управление конфигурацией
Управление разделами
Анализ журналов
Потребление / генерация из командной строки
Управление доступом клиентов
Ручные операции через ZooKeeper
Обслуживание собственно кластера
Программное администрирование
Безопасность:
Защита взаимодействия
Права доступа
Квоты
Шифрование данных
Мониторинг:
Показатели брокеров
Собственные логи (которые через log4j)
Показатели производителей
Показатели потребителей
Квоты
Мониторинг отставания
Сквозной мониторинг
Комплексные системы мониторинга
Обработка потоков данных:
Таблично-потоковый дуализм
Некоторые сценарии
Основные понятия
Шаблоны проектирования
Типовые сценарии
Введение в Kafka Stream DSL
Введение в KSQL
Kafka vs JMS (на примере ActiveMQ):
Хранение сообщений
Общая архитектура
Отправка сообщений
Потребление сообщений
Масштабирование и отказоустойчивость
Итого
Приложение I: MQ и ActiveMQ