- Needed single process, Single thread to avoid duplicate message signalling (two cabs one cup :p)
- Architecture iOS/Android clients => “CN” node.js messaging proxy, “dispatch” node.js cluster, “API” node.js cluster, mongoDB persistence.
- California, North East, North West clusters each with “Master Slave Slave” redundancy ”no request left behind” if a thread hangs or fails just respawns.
- Max production CPU spike 1.4% :)
- Failures => Xml memory leak, Cascading failures, Http Connection limits
- Rabbit MQ for messaging and long running background process.