It looks like the AsyncFetcher is only able to listen to one topic. In case of distributed microservices, ideally it should be able to listen to multiple topics. I understand it is hard for one token to keep track of multiple topic position. Is there any work around for the processor to receive events from multiple kafka topics then? Thanks.
When using Kafka, you can preserve the order of those events by putting them all in the same Kafka partition. They must be in the same Kafka topic because different topics mean different partitions. You should consider this limitation/feature of Kafka, and be careful with using many topics/partitions, as you can potentially break the ordering of events (Axon will do as much as it can to order the events based on the timestamps, but it is not a 100% guaranty).
I believe that AsyncFetcher can listen to only one topic at the moment. Axon Kafka module is not in stable release yet. Unfortunately, I can not give you any exact date when this will be, as we are focusing on delivering 4.1 version of Axon platform (AxonFramework and AxonServer) for the moment.
Thanks. The work around is to create two processors where each one is listening to a different topic. (I am using one partition for both of course).