Event Sourcing #
Backward compatibility #
When formats of the message changes we have to ensure that the client depending on the previous format works. To overcome this, when a message payload is modified with breaking changes then we publish both version 1 format and the version 2 format of the message. This way clients depending on the newer format works. Different topics are created to publish different versions. Eventually when all clients migrate to the new form of the message, then the old one is dropped.