Distributed systems

Messaging and Microservice Patterns

Message brokers compared, reliable messaging, event-driven patterns (outbox, saga, CQRS, event sourcing), service discovery and meshes, operating microservices, and observability with SLOs.

6 lessons1 h 15 minAdvanced

0/6

What you'll learn

0 of 6 lessons complete

Who this is for and what you will be able to do

Who this is for

Engineers building or running services that communicate asynchronously and want the patterns that keep them correct and observable.

After this course you will be able to

  • Choose between Kafka, RabbitMQ, SQS, Pub/Sub and Pulsar for a use case
  • Build reliable messaging with retries, dead letter queues, idempotency and the outbox pattern
  • Apply sagas, CQRS and event sourcing, and know their costs
  • Explain service discovery, sidecars and service meshes
  • Operate services with config, secrets, feature flags, tracing and logging
  • Define SLIs, SLOs and error budgets and build useful dashboards and alerts

Topics it coversMicroservicesCQRSEvent Driven ArchitectureIdempotencyKafkaObservabilityTime and OrderingAll topics

How a lesson works

  • Interactive diagram

    See how each component connects, then run a request through it.

  • Plain-words toggle

    Switch between the technical explanation and a plain-language one.

  • Practice design

    Change a design of your own in the builder and see how it holds up.

  • Quiz and exercise

    Test your understanding before moving on.

Go deeper

These lessons are written from scratch. The books below are excellent next reads.

  • Designing Data-Intensive Applicationsby Martin Kleppmannmessaging, streams and consistency
  • Microservices Patternsby Chris Richardsonsagas, outbox, CQRS
  • Site Reliability Engineeringby Googlefree online; SLOs and error budgets