Scaling event-driven systems with Node and GraphQL subscriptions
summary
Claims that combining Node worker threads with GraphQL subscriptions gives full‑stack real‑time feedback while offloading CPU work to multiple cores; demo uses React + Apollo, two Docker containers (one single‑threaded, one parallel), and a six tasks demo running heavy trig math over large arrays. Observes worker spawn cost, Docker scheduling contention and sublinear scaling (e.g. ~2x for 4 cores, ~3.5x for 8), and incomplete reliability in the demo; profiling and cloud tests are proposed.
AI-written summary · about
chapters (26)
- 0:00Introduction
- 3:06Welcome
- 4:32Research
- 4:43Monoliths
- 6:41Microservices
- 9:54Events
- 11:38Event design
- 12:53Nodejs and Javascript
- 14:49Building an HTTP server
- 14:59How to scale
- 16:43Scaling horizontally
- 17:15Running more instances
- 18:55Vertical scaling
- 19:51Leveraging hardware
- 21:38Node is the perfect choice
- 22:19Worker threats
- 24:17Worker threats for everything
- 25:37GraphQL
- 27:33GraphQL subscriptions
- 28:20How subscriptions work
- 29:47Whats going in the backend
- 30:14Realtime feedback
- 31:36Demo
- 33:31Future work
- 35:40Summary
- 36:38Outro
related talks
39mArchitecture of scalable and resilient NodeJS apps with GraphQL & event-driven serverless
58mCrafting compelling real-time web experiences with GraphQL and React
31mLessons from Scaling GraphQL to Half a Billion Requests per Minute
52mBuilding a Realtime Chat with GraphQL Subscriptions
13mConcurrency vs Parallelism in Node.js: Understanding the Event Loop & Worker Threads
37mHigh Stakes, Real Time: How Athenahealth Scaled GraphQL in Clinical Workflows
22mScaling Node.js and unblocking the Event Loop
24mRealtime React Apps with GraphQL
