Hi, I'm new to Akka and need some advice on architecture to migrate a set of "legacy" components to Akka.
I have two existing microservices-based components which I'm considering to modify to use Akka actors and clustering. It's currently load-balanced across multiple nodes each having an instance of the component, but sessions are not sticky to each user, so archived event state is cached in a Redis in-memory cache and persisted to MongoDB. As the components need some modifications anyhow to implement new features, thought it would be a good opportunity to migrate them to an Akka-based system where actors manage the state per-user to co-locate code and cache (remove Redis) while simplifying consistency and concurrency and not introduce "wrong-direction" dependencies between existing components. The system stores an archive of user events, both per-user and per-group events, which users can query. Seems Akka actors, remoting, clustering and ClusterSharding would be a good match. As part of the modifications, I was considering splitting it into two different front-end components (managing groups including archiving requests and per-user archive queries, respectively) and one back-end component (managing actual event archive storage and querying). The current front-end protocol is asynchronous (it's about XMPP server components). Would it be feasible to have three or four separate components (each one with separate source code repositories and separate deployments) sharing a single Akka cluster using Akka remoting to query the back-end? Or should I look into using a more traditional HTTP-based REST endpoints, possibly using Lagom? Will deploying application upgrades without downtime, monitoring and operations be more difficult with the first approach? I only found a few reference projects online using the shared Akka cluster approach, but it seems appealing to not introduce more remoting protocols than necessary and to use messaging throughout. Regards, Stefan -- >>>>>>>>>> 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.
