Patterns for Scalable Web Services in Go
summary
Concrete recipes for building scalable HTTP services in Go: use the standard library HTTP primitives as the baseline, augment routing and JSON handling with gorilla or small composable pieces, bundle production concerns into a toolkit like tiger tonic, and collect metrics with gometrix shipping to stats knee and graphite. Demonstrated patterns include a go routine per connection server, graceful zero downtime restart via listener inheritance, TLS termination with net.Listener, and testable handler-level APIs.
AI-written summary · about
chapters (19)
- 0:00Start
- 1:50Good reasons people
- 3:46Bad reasons people
- 4:04Good reasons to not
- 4:56Hello, www!
- 5:35Functions
- 6:00Errors
- 7:08Structs
- 7:30Methods
- 8:01Interfaces
- 10:26Echo server
- 14:12Channels
- 17:06Clumsy stop for HTTP
- 20:18Routing
- 21:02JSON
- 22:19Reflection underneath
- 23:33Conditionals
- 24:50Logging
- 25:12Metrics
related talks
25mHow I Write HTTP Web Services After 8 Years
24mBuilding web services in Go
31mImplementing RESTful APIs
31mBuilding a microservices architecture with Go
24m"Building Scalable Microservices with Go"
46mSimplifying Scalable Cloud Application Development with Go
47mimport Golang; struct microservices
01h 01mGo Kit A Toolkit for Microservices
