I'm building a FX trading OMS and I have signals, strategies, accounts and orders, they all run on a different JVM and each have a distribution type like SINGLETON, SHARDED or ROUND_ROBIN, they communicate with each other because they are part of the Akka cluster, so each has a separate Actor System of course, the system was designed with scalability and microservices.
The power of Akka is the actor system and message passing, why would you want to add yet another messaging to redo what they do already?, a bit more of my workflow so that you can see how similar is my workflow with yours: - A trade capture comes from some source, each source is an actor managing an alien connection (QuickFIX/J) - The signal if valid it is sent to the strategy router (ROUND_ROBIN) - The strategy decides how many orders it needs to build and each is sent to the order components, each order component is an actor. - The order is receive and a persistor is created which is a child of that order target which keeps the status being inserted, once the order is completed (or failed), the persistor actor dies. How does one cluster knows where another component is located? I have my cluster events which each time a microservice comes up, it informs all of the other microservices and each has its own ActorRef cache (located by type of component and ID which is an integer) so there isn't network cost when locating an actor and proxying between components is very minimal because there are no intermediaries to deliver my messages. Hope this design helps you with yours, of course, I have spent a couple of months building all the business logic and my own sharding for my specific domain but so far I have no complains, I'm planning to add Hazelcast maybe, if I need some message resilience in the future, but that's a maybe. -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: >>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
