+1 to this question. For the moment I'm coping with a few seconds of downtime for releases, but we're going to have to become downtime-intolerant before long. And zero downtime does look challenging in a heavily-sharded application.
Personally, I've been wondering if I should be trying to deal with intermixed releases -- bringing the new release up on one node at a time, in the *same* cluster as the old one, and gradually shutting the old ones down. That seems to make sense in theory, but also seems bloody dangerous -- it requires that the releases be 100% wire-compatible, which is hard to test and presents evolutionary challenges -- and I'm not sure if there are gotchas to be aware of... On Thu, Jun 9, 2016 at 3:44 AM, Denis Mikhaylov <[email protected]> wrote: > Hi, hakkers! > > I have a distributed app that uses `akka-persistence` and `akka-sharding`. > For some of my shard coordinators I use `remember entities` feature. > I heard (from Bonér or Kuhn, can't say for sure) that in production it's > better to use blue/green deployments. > As I see, the steps are: > 1. Deploy and start fresh application, let it form cluster (don't start > any ShardRegions yet) > 2. Stop ShardRegions that do not use `remember entities` features (e.g. > Aggregate Roots). > 3. Start these ShardRegions on freshly deployed system > 4. Switch external traffic to new system (so that we already can accept > external commands). > 5. Stop ShardRegions that use `remember entities` features (e.g. Long > Running Processes, that react to events from Aggregate Roots). > 6. Start these ShardRegions on freshly deployed system (here I need akka > sharding to restart entities that were alive on previous system) > 7. Shut down old system > > So the questions are: > 1. Is there any improvements to the deployment process? > 2. Wouldn't this scenario corrupt Sharding related or any Akka internal > data in journal? > 3. How do you handle deployments in production? > > Thanks a lot, > Denis. > > -- > >>>>>>>>>> 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. > -- >>>>>>>>>> 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.
