How to check if the command is execuable when it delivers through asynchronous message queue?

by Mohsen   Last Updated July 12, 2019 16:05 PM

The aggregate root's state is the product of the commands it receives. So different order of receiving the commands produce different aggregate root states.

How can I check domain rules based on the state when the order of commands are not guaranteed? How to check if a command can be executed based on the last state of the aggregate root if the command is sent by an asynchronous message queue like Rabbitmq?

Related Questions

Message Bus v Mediator pattern v In Memory Bus

Updated September 28, 2018 11:05 AM

Synchronization of data across microservices

Updated April 18, 2019 06:05 AM

AMQP broker and happen-before guarantees

Updated June 24, 2016 08:02 AM

A layer of abstraction too far?

Updated June 26, 2015 15:02 PM