When new systems are created or legacy systems migrated, there can sometimes be a discrepancy between the progress of event producers and consumers. This means that our architecture design also needs to consider the way replayed events will be processed from the perspective of the event consumer.
Full article