Saga Performance

Hi Allard,
We are using Saga for managing the timeout of events. We generate around 100 events per second and each event has 2 sec timeout.
We are using JDBC store for Quartz which does not seem to scale even after increasing the processor count in Oracle.

Due to small timeout, we are not able to scale the functionality using Saga. Specifically the locks acquired during quartz job creation.

Do you suggest to use Saga Timeout for internal handling with such small timeout or is there any better way for handling this situation?
Or Is there any specific configuration to be take care at Axon framework level or Oracle Db level to tune this.

Amol Umate

If the timeout is 2 seconds, why can’t you use an in memory store (RAMJobStore)? After a restart all timeouts would have expired anyway, so no reason to have them persisted, just clear them all on startup.

You can also use the InMemoryEventScheduler, instead of the Quartz one. It will have the same effect, without relying on a dependency.

If you alsohave long-lived schedules, you might want to store the longer schedules is quartz, and the short ones in memory.



Thanks Allard and Per,
I was also thinking on the same lines of having Inmemory for short timeouts and Quartz for long lived events.
BTW do you have quick link for the same which we can refer for implementation?

Amol Umate