In a microservices architecture, is it possible to have those services built by Java Spring Boot + Axon Framework + (either AxonServer or Kafka + Mongo as Event Sourcing) and other non-Java services (e.g. C#.NET / NodeJS / Python) to work together in event sourcing way? I mean those non-Java services able to dispatch & handle the command & event messages with those Java services?
Hi T.M. Wong,
It is perfectly fine to mix different languages from a micro services perspective, as long as the communication between those components still exists.
However, this will at the moment require some tailor made code, as Axon provides everything in Java at the moment.
Axon Server would likely be the best way in, as it defines a separate Protobuf API (which you can find here).
This route was taking with this exact idea in mind, to allow a polyglot microservice environment to work seamlessly with the Command, Event and Query messaging approach.
However, as pointed out, the current implementations focus on Java.
For now you should thus have to provide your own implementation based on the above shared API.
If any help is required in this area, I suggest you to contact AxonIQ directly on this matter.
Steven van Beelen
Axon Framework Lead Developer