Deep dives into database internals, Kubernetes, Linux networking and Go, with hand-drawn diagrams, real code and measurements. By Joel Teodoro, backend engineer working with Go in production.
The image never reaches the API server. What reaches it is a few hundred bytes of YAML. Tracing the real path from a commit to a process inside a container — a chain of independent loops, none of which knows the others exist.
Every minute, every open order against every rider on duty, solved as one vehicle routing problem with VROOM. How the round works, why the solver's answer is only a proposal, and why the legs are diffed instead of rebuilt.
One search box, six indexes, one round trip. How I built a multi-vertical search in Go on Elasticsearch, why it rebuilds its indexes instead of syncing them, and how I would sync them at a million documents per vertical.
at and cron as a service, in Go: six services, MySQL as the queue, Cassandra for history. The decisions behind it, their trade-offs, and what load-testing it on an AWS-shaped bench found, including a bug of mine.
An EKS and RDS lookalike on one PC, a cron platform with 30,000 jobs due at 09:00:00, and ten tests. Nothing was lost; the 300 jobs/s ceiling turned out to be an N+1 of mine.
Why the jobs table is the queue, why MySQL and not Postgres, why Cassandra only for history, and how leases, fencing tokens and idempotency keys keep at-least-once honest. With the alternatives I rejected and the SQL behind each decision.
I thought I understood net/http's connection pool. Then I found out the pool key ignores the path entirely, and that my own Transport config had silently turned off HTTP/2. Three discoveries, measured with httptrace.
at and cron as a service, in Go: MySQL as the queue, Cassandra for history, leases and fencing tokens for at-least-once. Load-tested on an AWS-shaped bench.
A toy Kubernetes written by hand in Go: control plane, node agents and an L4 load balancer, running on VMs. A pod is a network namespace with a process.