I am using Axon Server (SE) and Axon framework (SE) to implement Saga Orchestration. As of now the axon server (SE) saves the .events and .snapshots in flat files. As we want to deploy this Saga implementation using Axon server+Framework in my AWS EKS environment in production, so below are my queries regarding this…
-
How can we achieve high availability by having multiple instances of axon server (like multiple pods of axon server) and all are accessing same/single flat files(.event and .snapshot files) to ensure consistency of data just in case on axon pod goes down and then other can take over? and how about flat files backup strategy in this case?
-
Also, how can I make sure that the .events and .snapshots flat files does not lost when axon server pod restarts, as pods are ephemeral and data folder will be lost when pod (of axon) goes down.
-
Can we save the .events file and .snapshots data in sql server so that the axon server may use this sql server database to read events and snapshots data? Does this is provided internally, like this change (of replacing controlDB with mysql db) is configurable via properties files changes or code changes are also involved?
-
Also how can I make change sin axon server jar code in case I want to connect to mysql db instead of using the in memory controlDB file for storage?