Перейти к содержанию
Learning Platform
Продвинутый
3 минут
Итоги SMT Outbox Schema Registry

Итоги модуля 5: SMT и Паттерны

Что вы изучили

В этом модуле вы освоили трансформации сообщений, Outbox pattern и работу со Schema Registry.


Ключевые концепции

Single Message Transforms

  • ExtractNewRecordState: Упрощение envelope
  • Filter: Фильтрация по условию
  • Route: Динамический routing
  • Groovy SMT: Кастомная логика

Outbox Pattern

  • Dual-write problem: Несогласованность БД и Kafka
  • Transactional outbox: Единая транзакция
  • At-least-once: Гарантия доставки
  • Idempotency: Обработка дубликатов

Schema Registry

  • Avro schemas: Компактная сериализация
  • Compatibility: BACKWARD, FORWARD, FULL
  • Schema evolution: Безопасные изменения

Content-Based Routing

  • Header routing: По заголовкам
  • Field routing: По значению поля
  • Regex routing: По паттерну

Outbox Table Design

CREATE TABLE outbox (
    id UUID PRIMARY KEY,
    aggregate_type VARCHAR(255),
    aggregate_id VARCHAR(255),
    type VARCHAR(255),
    payload JSONB,
    created_at TIMESTAMP DEFAULT NOW()
);

Навыки

После прохождения модуля вы умеете:

  1. Применить SMT для трансформации событий
  2. Реализовать Outbox pattern
  3. Настроить Schema Registry
  4. Управлять schema evolution
  5. Реализовать content-based routing

Что дальше?

Модуль 6: Data Engineering

Обработка CDC событий в data pipelines:

  • Python consumer patterns
  • PyFlink CDC processing
  • PySpark Structured Streaming
  • Feature engineering

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс