Skip to content
Library/Core Concepts
High-level design

Component Decomposition

1 min read

Break a system into services/components with clear responsibilities and interfaces.

Split a system into 5-8 components where each owns one responsibility and communicates through defined interfaces.

How It Works

Component decomposition is the core of high-level design: splitting a system into pieces that each own one responsibility. Start with the user-facing flow (client -> API -> service -> data store), then identify where responsibilities diverge. Each component should have: a clear input/output contract, independent scaling characteristics, and a single reason to change.

Real-World Example

Netflix decomposes into: API Gateway (Zuul) -> User Service -> Content Metadata Service -> Recommendation Engine -> Streaming Service -> CDN (Open Connect). Each service scales independently.

Test Yourself

Scenario: Break a video-on-demand service (Netflix-style) into components. Name each component, its one responsibility, and one hard rule about what it must not do.

Get notified when we launch

One email when the full practice product is live. No spam.