← Microservices learning path
Microservices · Module 2 of 10

Designing service boundaries

Decide what each service should own.

📖 Key ideas

  1. Use Domain-Driven Design (DDD): bounded contexts define boundaries.
  2. Services should be loosely coupled and highly cohesive.
  3. Each service owns its data (database per service).
  4. Avoid chatty services that call each other constantly.
  5. Start coarse; split as understanding grows.
💡 Real-life example: Bounded contexts are departments: Accounts and Delivery may both say "order" but mean different things.
DDDDomain-Driven Design
Bounded contextBoundary where a model applies
Database per serviceEach service owns its data
Chatty serviceToo many fine-grained calls