Продвинутый
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()
);
Навыки
После прохождения модуля вы умеете:
- Применить SMT для трансформации событий
- Реализовать Outbox pattern
- Настроить Schema Registry
- Управлять schema evolution
- Реализовать content-based routing
Что дальше?
Модуль 6: Data Engineering
Обработка CDC событий в data pipelines:
- Python consumer patterns
- PyFlink CDC processing
- PySpark Structured Streaming
- Feature engineering
Закончили урок?
Отметьте его как пройденный, чтобы отслеживать свой прогресс