Hello, I'm trying to understand the best way to interact with a cluster. For the sake of conversation let's say I have a load-balanced tier of Akka HTTP servers hosting REST endpoints. These endpoints will in turn send async or sync messages to other actors within a cluster of back-end logic nodes as needed by role.
I can see two approaches for this. I can have my REST nodes outside the cluster and use the cluster client, which the docs explains uses a receptionist, to send messages to exposed actors within the cluster. Alternatively I can have my REST nodes as full members of the cluster along with the actors/nodes providing the back-end logic. I like the separation of the client/receptionist approach but am worried that the receptionist becomes a choke-point. Does every message send from the cluster client on the REST tier go through the given receptionist (which would be a choke point) or is the receptionist only used as an event listener on the cluster for the client (not a choke point)? If the latter is true the cluster client maintains sufficient knowledge to randomly select nodes in the cluster without bothering the receptionist on every request. I'm hoping that's the way it works. The second approach (all one big cluster) is less appealing architecturally but is certainly simple enough to implement. Can anyone help clarify the relationship between the cluster client and the receptionist? Thanks! Greg -- >>>>>>>>>> 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.
