I’m evaluating Axon, and whether it can replace our own in house event store.
One thing I’m curious about is how one would solve the email uniqueness problem in combination with Axon server. In our current implementation, the event store and special invariant tables with constraints are kept in the same database, so when creating a new user we will (in the same transaction) add a new email to the invariant table (which fails if the email address existed) and store a NewUserEvent.
With Axon we could conceivable do the same, but when using axon server these two actions (checking and storing the invariant + storing the event) would no longer be as atomic as we’d like as these tables would live on two different servers. How would this work in this case?