Skip to content

Cheat sheet for how to build microservices with scale, resilience and success.

Notifications You must be signed in to change notification settings

techyrajeev/microservices-cheat-sheet

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

See also: API Design Cheat Sheet, Platform Building Cheat Sheet

Microservices Cheat Sheet

  1. Do only one thing and do it well. The "one thing" is defined by a "Bounded Context" in Domain-Driven Design (DDD).
  2. Own your own data. No shared data stores.
  3. Embrace eventual consistency.
    • Don't read your writes.
    • Publish your own state-changes (minimally) to an event log.
  4. Leverage event logging and/or streaming to replicate and denormalize data from other services.
    • The event log must be subscribable to publish events to subscribers.
    • The event log must be durable and must not lose messages for publishing and replay.
    • Examples: Kafka, Confluent.io, Amazon Kinesis.
  5. When aggregating microservice calls, use asynchronous, non-blocking I/O. Perform as much as possible asynchronously.
  6. Support a registry/discovery mechanism.
  7. Support Location Transparency.
    • Support statelessness--no sticky sessions.
  8. Support the use of back-pressure (see, Reactive Streams specification) to avoid cascading failures.
  9. Support the Circuit Breaker pattern to manage faulty service dependencies.
  10. Consider CQRS to scale reads separately from writes.

About

Cheat sheet for how to build microservices with scale, resilience and success.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published