Close popover
Gunawan Deng (GunawanD)

GunawanD Member since 2013 14 posts
Posted: July 7, 2017
Last activity: July 10, 2017

Zero Downtime Deployment

On Section: Performing a rolling restart in a highly available system under, it explains how to achieve zero downtime.

For the following scenario:

  1. Before deployment, user are on server1 using ruleset 01-01-01.
  2. Proceed to perform rolling restart (quiesce user) on server1, user will then be moved to server2 using ruleset 01-01-01.
  3. Import ruleset 01-01-02 on server1, this will be propagated to server2, however application will still use ruleset 01-01-01. At this point, new user login to server2 will still useruleset 01-01-01
  4. Restarted server1 and start serving requests.
  5. Proceed to quiesce users on server2 using ruleset 01-01-01 and move users to server1.

We are trying to achieve zero downtime deployment in the event that server restart is required (e.g. table structure changes, etc.)


1. At point #4, how do we make sure new users on server1 will use ruleset 01-01-02 while users on new users on server2 will still use ruleset 01-01-01?

2. At point #5, when users move to server1, what ruleset user will be using? Can we force it to use ruleset 01-01-02?

Any idea?

System Administration Installation and Deployment
Moderation Team has archived post