Handling slow requests in your Go web server
summary
Claims that slow requests stay inside a Go server by avoiding external queues and costly serialization to beanstalkd and storage to s3 for hundred‑megabyte uploads. Implements a channel-backed queue (problems: blocking solved by send timeouts, channel buffers or extra workers) and an alternative that spawns a goroutine per job. Adds a wait group to preserve background work across shutdowns. Builds both designs and shows they work but require capacity planning and explicit lifecycle and cancellation handling.
AI-written summary · about
chapters (8)
- 0:00Intro
- 0:35The usual way
- 1:05The problem
- 1:35The solution
- 2:15Building the handler
- 2:37Queues
- 2:58Second solution
- 3:46Outro
related talks
24mMastering Concurrency in Go: From Patterns to Production
25mWhen the “Go”ing Gets Tough: Relieving Pressure on a Budget
46mSimplifying Scalable Cloud Application Development with Go
47mQueues, Fairness, and The Go Scheduler
43mLet's Go asynchronous
35mDesigning for failure
54mComplex Concurrency Patterns with Go
16mIn the land of Gophers from age 3
