Greetings,
I am hoping for some design advice? I am new to Akka and don’t want to start out on the wrong foot. At my day job we have a “Rates Engine”. It computes the current Rate for a particular User request. It is a high volume/low latency system. And currently it lives within a Java Servlet Engine (jetty). This is how it works – from 30000 ft : Foreground: 1. User X requests a Rate (current price) for Product Y. 2. The request is routed to “Shard P” based on Y. 3. The Rate is computed based on the cached RateInfo (essentially, a concurrent HashMap) for Y, found in Shard P. The computation is relatively expensive CPU-wise. 4. The Rate is returned to User X. Background: 1. The system listens to “Rate change events” for all Products. 2. Rate changes are read and are aggregated over some period of time. 3. Periodically, the appropriate, cached RateInfo is updated as required, in the appropriate Shard Simple. And it works well. Except the system relies on static host bindings. The system is showing its age. The synchronous HTTP/S is relatively expensive. Moreover, we are moving all of this to AWS. So, since we have to refactor anyway, we decided to look at better ways. And Akka’s clustering, sharding, and akka-http are all quite appealing. So my question. How would y’all model the Actors/Messages in this system? The things I find most puzzling are: - The “single threaded illusion” and how this relates to the Rates computation. Clearly that must happen in parallel? - How does one cleanly share the cached RateInfo across the Actors? Sorry if these questions are too broad. I am a total newbie. I am looking to start a POC, and need a place to begin. Thanks much, -- Chris -- >>>>>>>>>> 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 https://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
