How we Go
summary
Zillow standardizes Go services with reusable server and worker factories, a kafka client, a db provider (sqlx + tracing), a retriable HTTP client (HashiCorp retrier), Sony circuit breakers, Zap logging, Datadog tracing and Prometheus metrics, plus Twirp/protobuf + generated Swagger. Composition uses wire codegen for DI and a mock set for end-to-end tests. The stack powers hundreds of deployments, enforces timeouts, graceful shutdown, context propagation and health probes, and the code is available at github.com/zillow/howwegoatzillow.
AI-written summary · about
chapters (21)
- 0:00Intro
- 0:49Goals
- 5:34Server: Timeout
- 5:47Server: Graceful shutdown
- 6:01Server: Distributed Tracing
- 7:14Server: Health Check and Probes
- 7:42Server: Swagger
- 8:44Server ...
- 12:07Server: Factory
- 14:58Worker : Kafka Client
- 15:53Worker : Timeout
- 16:12Worker : Circuit Breaker
- 16:53Worker : Distributed Tracing
- 17:58Worker : Concurrency
- 24:16http client
- 27:29kafka write
- 28:40Logger
- 31:43Configuration : AppConfig
- 32:39Composition
- 33:15Example
- 34:35WIRE
related talks
34mModern Development of Cloud Applications With Service Weaver
19mService Weaver: A Framework for Writing Distributed Systems
46mSimplifying Scalable Cloud Application Development with Go
31mSuccessful Go for microservices architecture
36mGosoline - Golang in a modern cloud environment
55mBuilding a Bank with Go
37mPatterns for Scalable Web Services in Go
36mBetting on Go
