Tag: system-design
All the articles with the tag "system-design".
I built Uber's backend. Then one driver got 59 riders
Part 2 of a ride-hailing backend on kind: 10,000 drivers and 6,000 riders in an Istanbul-sized city push three Go pods to their CPU limit, a Redis geo index (GEOADD, GEOSEARCH) halves the work and fills the map again, and a check-then-set race hands one driver 59 riders until SET NX fixes it. Every manifest, command and number.
I built Uber's backend. It crashed at 5,000 drivers, and these three fixes held it up
A Go location service on a local kind cluster behind HAProxy, load-tested with k6. One pod gets OOMKilled at about 5,000 WebSocket drivers, three pods lose two thirds of the drivers, Redis pub/sub brings them back and a Horizontal Pod Autoscaler grows it to four pods at 10,000 drivers, with every manifest, command and number.
Microservices communication patterns on a real shop: retries, Kafka, the outbox and a saga
Four Spring Boot 4.1 services, Kafka 4.3, Postgres 17 and Debezium 3.7 in Docker Compose. A retry that charges a card three times, an idempotency key that stops it, a circuit breaker, an event lost to a dual write, the outbox that fixes it and a saga that refunds the money, with every command and output.