Схемы без боли: валидация на границе
Валидация на входе экономит хранилище и нервы аналитиков. Рассказываем, как включить её, не остановив поток.
Плохое событие дешевле отклонить на входе, чем хранить и потом объяснять, почему в отчёте пусто. Но у строгой валидации есть цена: часть данных может не дойти из-за ошибки в клиенте.
Начните с наблюдения
Первые две недели не блокируйте события — просто логируйте несоответствия схеме. Так вы увидите, какие поля реально приходят и где клиенты ошибаются.
Три режима валидации
- Мягкий: событие проходит, несоответствие пишется в метрику.
- Карантин: событие уходит в отдельный поток для разбора.
- Строгий: событие отклоняется с понятной ошибкой клиенту.
Схема — это контракт. Если его нельзя нарушить, клиенты перестают нарушать.
Мы советуем начинать с карантина: он не теряет данные и сразу показывает масштаб проблемы. Строгий режим включайте, когда доля ошибок станет меньше одного процента.