Этот ответ помог получить нашему эксперту оффер! Несколько хороших… — Системный анализ | Ольга Пономарева — TG.ME

Системный анализ | Ольга ПономареваВопрос с собеседования, который многих ставит в тупик 👇 Недавно один из наших экспертов проходил собеседование в одну компанию ретейл. Ему задали вопрос: «Какие изменения схемы обратно совместимы, а какие нет? Как организовать работу с новой версией схемы…
Этот ответ помог получить нашему эксперту оффер!

Несколько хороших ответов вчера было, но я хочу поделиться полным ответом, который дал эксперт на собеседовании:


1️⃣ Что такое обратная совместимость?
Изменения делятся на:
Минорные — добавили поле с default или сделали его optional. Старые консьюмеры просто игнорируют новое поле. Всё работает.
Мажорные — удалили поле, изменили тип или сделали обязательным то, что было опциональным. Консьюмеры падают. Это ломающее изменение

2️⃣ Что такое Schema Registry и как он помогает
В Kafka схема это часть контракта. Вместо того чтобы хранить схему в каждом сервисе, используют Schema Registry.
Это отдельный сервис, который:
- хранит все версии схем;
- проверяет совместимость новых версий со старыми;
- не даёт зарегистрировать схему, если она нарушает выбранную стратегию

3️⃣Стратегии совместимости (Backward / Forward / Full)
Настройка уровня топика определяет, что можно менять:
Backward — новая схема читает старые данные. Продюсер может обновиться первым, консьюмер — позже
Forward — старая схема читает новые данные. Консьюмер может обновиться первым
Full — и то и другое, но требования строже
None — можно ломать всё что угодно (но на практике так никто не делает)
Если вы пытаетесь зарегистрировать несовместимую схему — Schema Registry вернёт ошибку

Если возникли сомнения и проблемы при ответе на вопрос, то на курсе «Архитектура. База» мы работает с kafka и проектируем интеграционные взаимодействия с этим компонентом. Старт уже 7 сентября!
🔥10❤3
August 27, 2026 2.5K 19