Go & Microservices
summary
Monzo uses Go to build its core banking as small HTTP services, claiming 40 MB binaries and running ~415 microservices in Docker on Kubernetes, routed by Linkerd + Kubernetes + Docker with Cassandra and Kafka for storage and queues. Go’s goroutines, channels and static single-binary deploys speed development and let teams onboard fast; request IDs and distributed tracing with Zipkin trace flows across services. Production issues include distributed debugging and a Linux cgroup scheduling 100ms time slice that inflated inter-service latency until tuned.
AI-written summary · about
chapters (13)
- 0:00Start
- 17:57Digging Deeper
- 19:03Managing Memory
- 19:51Language Stability
- 20:48Putting it all together
- 44:20Make services as small as possible
- 45:52Prefer services over libraries and shared code
- 46:33Prefer consistency in most cases
- 47:40Isolate shared infrastructure
- 48:34Onboarding people is hard
- 49:17Reduce complexity
- 49:44Monitor EVERYTHING
- 49:59WHAT WOULD WE DO DIFFERENTLY?








