The strangler pattern replaces a legacy application incrementally: new functionality is introduced alongside old functionality, then validated before the older implementation is retired. This avoids all-at-once replacement, downtime, and disruptive data migration. section 6.2.5
Event-driven migrations commonly coordinate versions through:
- Backward compatibility: upgrade consumers first so new consumers can read older events. section 6.2.5
- Forward compatibility: upgrade producers first so older consumers can process newer events. section 6.2.5
- Schema compatibility rules, enforced by schema repositories, prevent consumers from failing during deserialization. section 6.2.5
Figure 6.11 The new version of producer, consumer, and channel are deployed in the same environment as the old ones. After validation of the new version, the old one can be retired.
Shows old and new producers, consumers, and channels operating together until the validated new version replaces the old one. section 6.2.5



