Go Large!
summary
Estimates put Kubernetes at about ~500k lines of human-written Go and a group of Grafana backend projects Cortex, Loki and Tempo at ~300k lines combined; retries from clients caused a Grafana Cloud outage, so a shared library DS Kit is created to handle sharding, consistent hashing and retries across hundreds of machines; communication patterns are either JSON over HTTP or gRPC/protobuf, and remaining pain points are inefficient encodings, brittle sharding, caching ergonomics and opportunities for generics to improve Go caches.
AI-written summary · about
chapters (4)
- 0:00Start
- 2:48How many Go developers are there?
- 4:15What does a large system look like?
- 8:48What is the largest Go program?
related talks
33mProject layout patterns in Go
32mTending the Kubernetes Dependency Tree: Bonsai or Bonfire?
49mFrom Java to Golang, the journey of the nexuzhealth team
38mIt's Simple…
18mA Thin Line Between Love and K8s
51mKubernetes: Changing the Way That we Think and Talk About Computing
25mWhen to rebuild things that already exist
44mHow Do You Structure Your Go Apps?
