Scaling using Go
summary
Luno grows from a handful to ~70 backend engineers and ~2.2M lines of Go across 100+ microservices that deploy daily; builds with 940 imports still compile in under two minutes. Communication uses gRPC with client libraries, an events library called reflex to run many consumers in goroutines, and code generation tools like glean (SQL -> structs) and proto-cp (protobuf ↔ Go conversions). Custom linters and commit hooks enforce consistency; generics are eyed as a future replacement for some generators.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 0:22Agenda
- 0:54About Luna
- 2:00Crypto industry challenges
- 3:26Blockchain challenges
- 4:34Architecture
- 4:56Go Code
- 5:31Why Go
- 6:36Simplicity
- 7:57Easy to Read
- 9:08Code Review
- 10:55Microservices
- 13:04Client Libraries
- 14:51Reflex
- 15:44Gogenerate
- 16:22glean
- 21:52Gogenerate tools
- 22:32Log message formats
- 24:57Scaling Luna
- 25:24New tools
- 26:17Outro
related talks
46mSimplifying Scalable Cloud Application Development with Go
31mHow Go is Making us Faster
22mScaling LLMs with Go: Prod Patterns for Handling Millions of AI Requests
31mSuccessful Go for microservices architecture
53mGo at Mainframe Scale
12mLeveraging Go for Efficient Infrastructure&Data Handling
56mGet Go-ing
06mHow We Achieved 100x Scale
