Building Microservice Architectures with Go
summary
A microservice platform written in Go runs ~90 services (Halo had ~250) as single statically linked binaries, deployed in Docker on Mesos/Marathon, using RabbitMQ/NSQ for internal transport, Cassandra for storage and Zookeeper for discovery. Synchronous card authorization has ~100 ms of headroom against a 200 ms card-processor timeout; most post‑work is evented and retried. Libraries include an in‑house Mercury framework, Zipkin/phosphor tracing with UUID request IDs, circuit breakers, fan‑out + cancellation, and continuous acceptance tests running in production.
AI-written summary · about
chapters (12)
- 0:00Introduction and speaker background
- 6:28Why microservices over monoliths
- 12:08Go language advantages for microservices
- 16:42Building service frameworks in Go
- 21:00Service design and architecture patterns
- 27:21Ensuring reliability in distributed systems
- 35:01Testing and monitoring microservices
- 41:37Distributed tracing and debugging
- 47:19Visualizing system complexity
- 49:05When to adopt microservices
- 54:23Handling data consistency and loss
- 1:01:30Q&A on replication and failure handling








