advanced
Versioning
Развивайте API и message contracts через additive changes, deprecation windows, compatibility tests и explicit consumer migration.
Independent deployment требует эволюции contracts без поломки consumers. Version через URL path, header или schema registry subject; предпочитайте additive changes и deprecation windows. Message schemas нуждаются в forward и backward compatibility rules.
Компромисс: несколько versions — больше maintenance; breaking changes — lockstep releases.
На интервью: required field в event для трёх команд; timeline deprecation.
Типовые ошибки: breaking JSON без version bump; удаление полей, которые consumers читают; нет consumer-driven contract tests.
Чеклист:
- Compatibility policy per API и topic.
- Additive schema changes.
- Contract tests в CI.
- Sunset старых versions по metrics usage.