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.

Reply via email to