Building a Debuggable Go Server
summary
Improbable extracts common production plumbing into a reusable Go base server called radical that sits under gRPC/HTTP services, wires protobuf-generated handlers, and composes community interceptors (Prometheus, OpenTracing, grpc-middleware) to add metrics, logging, tracing and panic recovery with a single default interceptor chain. The project is open-source, runs in production at Improbable, exposes debug endpoints and flag/UI pages, and reduces duplicated middleware across dozens of services.
AI-written summary · about
chapters (23)
- 0:00Introduction
- 0:45Agenda
- 1:30Code
- 1:40Service
- 3:43Communication
- 4:15Listening for Requests
- 4:40Running in Production
- 5:05Adding Metrics
- 6:05Building Production Services
- 7:03Onion Model
- 7:55Go Micro
- 8:16Why we didnt use Go Micro
- 8:50What is Radical
- 10:06Service Oriented Architecture
- 11:15Common Functionality
- 11:45Multiple Services
- 12:16Common Base Server
- 14:33Running the Service
- 14:52Service Status Page
- 16:03Dashboards
- 16:29Benefits
- 17:52Key takeaways
- 18:37Questions
related talks
28mDeep Dive: gRPC
28mWriting and Debugging a Web-Based Multi-Player Game
59mSignalR Deep Dive: Building Servers
31mConsole.loggers Anonymous: A Debugging Roadmap from Local to Production
25mGetting Started with gRPC and JavaScript
22mNode.js at UBER
37mEmbedding the Containerd Runtime for Fun and Profit [I]
29mGetting Started with gRPC and Node.js
