Skip to content

Messaging

Intent

Integrate services asynchronously using messages/events via a broker (queues/topics/streams).

Use when

  • You want temporal decoupling: producers don’t need consumers to be up to accept work.
  • The workflow tolerates eventual consistency and at-least-once delivery semantics.

Avoid / watch-outs

  • Messages can be duplicated/reordered; consumers must be idempotent and resilient.
  • Define schemas/contracts; uncontrolled event evolution causes brittle consumers.

Skill mapping

  • architecture: pick eventing vs RPC, and define ownership and ordering expectations.
  • resilience: idempotent consumer, dedupe/inbox, retry/backoff, DLQ strategy.
  • spec: message schemas, versioning rules, and failure semantics.
  • observability: lag metrics, correlation IDs, and message-type attributes on spans/logs.
  • testing: consumer-visible tests for duplicate/retry and poison-message behavior.