Monolith Decomposition
summary
Deliveroo faces a slow page caused by an ORM producing a 23-table join, so the team extracts that endpoint into two Go services: a Kafka consumer and an API built with Go + Gin. They denormalize orders into a DynamoDB denormalized table, implement a repository pattern and hexagonal architecture, and speed up ingestion with manual Kafka checkpointing. The result is a fast, fault-tolerant, and scalable service deployed to production with no reported errors.
AI-written summary · about
chapters (13)
- 0:00Start
- 5:40Domain Design
- 6:13Decomposition
- 14:38Backwards Compatible?
- 16:52Kafka Offsets
- 18:00Ports & Adapters
- 24:21Expressiveness
- 25:29Concurrency
- 25:59Error handling
- 26:15Tooling
- 26:47Simple language
- 27:43Static Typing
- 29:00Dependency Management
related talks
30mMonolith-ifying perfectly good microservices
26mMonoliths always pay their debts
38mFrom Monolith to Microservices at Zalando
01h 01mMonolith Decomposition Patterns
36mThe Art of Decomposing Monoliths
44mA Software Engineer's Journey Through Microservices Data Sharing
43mBreak Up the Monolith: Testing Microservices
24mModernise your monolith using strangler pattern
