We’re currently evaluating AF5 for a new project. After going through the documentation, we’re quite sold on the DCB. However, from what we understand, DCB is only available when using Axon Server.
Unfortunately, procuring Axon Server on our side will likely take several weeks to months, and we are planning to rollout to production in less than 2 months. As a result, we plan to start with the aggregate-based JPA event store in the meantime.
Given this setup, I’d like to understand the limitations of an aggregate-based event store, beyond the inability to support multiple @EventTags.
Are there other important trade-offs or constraints we should be aware of when using the aggregate-based JPA engine, especially in comparison to Axon Server?
You’re on point there, @alvinthen.
To get the biggest benefits from Axon Framework’s DCB support, you’ll need to pick a storage solution that support multiple tags. At the moment, that’s Axon Server as well as the PostgreSQL Extension. Granted, the latter has a preview release at the moment, although I expect us to be able to deliver 1.0 within this quarter.
Are there other important trade-offs or constraints we should be aware of when using the aggregate-based JPA engine, especially in comparison to Axon Server?
These are definitely speed and flexibility. Axon Server, as well as the PostgreSQL extension, are optimized for event sourcing and streaming. The JPA variant work, but given it’s a generic solution for any RDBMS, expects the user to optimize themselves.
If you need more guidance to work with AF5, be sure to reach out, @alvinthen! We’ll gladly help wherever we can.
At the moment, no, it is not. I cannot rule out it will not be in the future, but for the time being it isn’t.
The vast majority of our current users run it themselves. We have some exceptions, which are always negotiable if mandatory for the party in question, though.