Preparing for Disorder
In a distributed system, two users interacting with the same application from different origins at the same time will almost never have consistent timing. Sometimes a button press may result in a message being delivered to the backend in milliseconds and other times the message could be lost or take more than a full second to deliver.
Take a close look at your aggregates and process managers before you deploy them at scale. Could they produce different results based on a different ordering of events? If this is the case, then you have a couple of practical options available to help you avoid things becoming nightmarish.
The easiest solution is to change your model such that the order in which your events are processed ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access