100% uptime strategy considering sticky sessions

Hi everyone,

I’ve been working with Meteor for some time and I’m considering using it for multiple large scale projects. I love Meteor and I really want to push it’s adoption in our company but I have 1 last reservation before I do so. Sticky sessions and what it means for 100% uptime.

My requirement is 100% uptime for all of our sites. Hot code pushes obviously solve the problem of pushing new features/update/bug fixes. However, if a server needs to be taken down for maintenance, then all my active users are going to lose their current sessions.

I was hoping someone may have some insights into the problem and what they’ve done to overcome it or if there’s a possible strategy for migrating users from one server to another thus preventing users from being kicked.

Instead of storing session state on the client, you could store in on the server in the db.
When a client has to refresh his brower or even change computer, his session is not lost.
If you change your server and your db is migrated, sessions are not lost. Clients will be kicked (security measure) but will get their session back once relogged.

Wouldn’t that mean that you end up losing the core feature of collection syncing between client and server. The publish cursor keeps track of whatever collections the client may have so if the server disconnects and the client connection is directed to another server, that server will not have any idea of what is out of sync on the client and create strange behaviour.