Our business logic doesn’t have a problem if there is no strict order for the events that happen on an aggregate.
Therefore handling ConcurrencyExceptions using the axon RetryScheduler reduce our throughput without
bringing any advantage for our business case.
I know that I can use a DistributedCommand-Bus to avoid the ConcurrencyExceptions, but that would also restrict our throughput
to a single node.
So my question: Would it be possible in axon to allow concurrent modifications on the same aggregate?
So what I would like to have is:
- Node X modifies Aggregate A in version 100 and fires an Event E1.
- At the same time Node Y modifies Aggregate A in version 100 and fires an Event E2.
- Aggregate A gets updated to Version 101 with Event E1 in the EventStore.
- Afterwards aggregate A gets updated to Version 102 with Event E2.
If the business logic allows it, this would be the easiest way to get horizontal scaling.
So it would be nice if such a behaviour could be implemented using axon.
Thanks for any hints on achieving this with axon,