For context I’m using Axon v 4.1.2 with SpringBoot but without the AxonServer. I am building an ACL and it currently has 4 Sagas. Each Saga will consume specific events from the same KafkaMessageSource. By default Axon will configure an unique TrackingEventProcessor for each saga. My question is this: Is there any reason why I should not use one processing group [TrackingEventProcessor] for all the Sagas ? I have read https://docs.axoniq.io/reference-guide/configuring-infrastructure-components/event-processing/event-processors multiple times, and even read the TrackingEventProcessor java source code and I could not find any downsides myself. As far as concurrency, it appears that I should just ensure that I have 4*N segments, and configure axon.eventhandling.processors.name.threadCount to be at least 4 where N is the number of live instances of the application. I realized that , this does not mean that the Event-Processor will assign one thread to each Saga.
We have more than one saga because they are aligned with distinct business processes. I believe we could put all the code into one large Saga class but that would not make sense from a code management point of view or business point of view.