Local sessions vs shared sessions

Local sessions live in the memory of one server, so a user who lands on another server loses the session. Shared sessions live in a store that every server reads. When one of two hosts fails at 0:30, local sessions give 74.5 percent availability. Shared sessions give 99.9 percent for 32 USD/mo.

Play the level

Light across a planetDrag or use arrow keys to pick a path

Lasers in orbit, New York to London · 7,151 km · 24 ms one way

One balancer, many serversDrag or use arrow keys to add or remove servers

5 servers · 72% busy · p99 66 ms

Case 1

Two API servers share 1,000 requests/s. One host fails at 0:30. Sessions must still work on the survivor. Availability must stay above 95 percent, at 40 USD/mo or less.

Case 1
Measure Goal Sessions in server memory Sessions in a shared store
Availability at least 95% 74.5% Fail 99.924% Pass
Error rate under 5% 25.5% Fail 0.076% Pass
Monthly cost 32 USD/mo 32 USD/mo
p99 latency 68 ms 69 ms
VPS · 2 vCPU · 8 GBVPS · 2 vCPU · 8 GBHTTP/2HTTP/2HTTP/2UsersLoad balanc…0.25 vCPU · 0.5 GBAPI server1 vCPU · 1 GBAPI server1 vCPU · 1 GB
VPSVPSHTTP/2HTTP/2UsersLoad bala…API serverAPI server
Sessions in server memory: misses a goal
VPS · 2 vCPU · 8 GBVPS · 2 vCPU · 8 GBHTTP/2HTTP/2HTTP/2RedisRedisUsersLoad balanc…0.25 vCPU · 0.5 GBAPI server1 vCPU · 1 GBAPI server1 vCPU · 1 GBRedis cache0.25 vCPU · 0.5 GB
VPSVPSHTTP/2RedisUsersLoad bala…API serverAPI serverRedis cac…
Sessions in a shared store: meets the goals