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.