Production Messaging in .NET

Design reliable message-driven systems from domain events to recovery.

  1. advanced

    Domain events: From DDD history to a reliable production flow

    Understand how Domain Events model business facts, how aggregates record and dispatch them, and how to choose the correct transaction boundary for reliable production systems.

    • domain-driven-design
    • domain-events
    • microservices
    • MediatR
    • dotnet
    • ef-core
    • event-driven-architecture
    • transactional-outbox
    • eventual-consistency
    • aggregates
  2. advanced

    Idempotent Consumer: Turn Redelivery Into One Business Effect

    Design message consumers that tolerate duplicate delivery without repeating database changes, payments, notifications, or downstream commands.

    • idempotent-consumer
    • dotnet
    • ef-core
    • messaging
    • idempotency
    • at-least-once
    • transactional-outbox
    • opentelemetry
  3. expert

    Saga: Choose Choreography or Orchestration for Long-Running Consistency

    Coordinate multi-service business workflows with explicit state, compensation, timeouts, and a deliberate choice between choreography and orchestration.

    • saga
    • choreography
    • orchestration
    • compensating-transaction
    • dotnet
    • microservices
    • eventual-consistency
    • transactional-outbox
    • idempotency
  4. expert

    Distributed Transactions: Why Two-Phase Commit Rarely Fits Microservices

    Understand the guarantees and failure costs of two-phase commit, how .NET transactions escalate, and when local transactions plus messaging are the safer production design.

    • distributed-transactions
    • two-phase-commit
    • transaction-scope
    • dotnet
    • microservices
    • saga
    • transactional-outbox
    • consistency
  5. expert

    Exactly Once Is a Myth: Define the Guarantee at Every Boundary

    Separate broker, producer, processor, database, and business-effect guarantees so exactly-once claims become testable production contracts.

    • exactly-once
    • messaging
    • idempotency
    • kafka
    • azure-service-bus
    • transactional-outbox
    • idempotent-consumer
    • dotnet
    • consistency
  6. advanced

    Dead Letter Queue: Quarantine Failed Messages Without Hiding Them

    Operate dead-letter queues as bounded quarantine with failure classification, ownership, safe replay, and evidence that the original defect is fixed.

    • dead-letter-queue
    • messaging
    • dotnet
    • azure-service-bus
    • rabbitmq
    • retry
    • poison-message
    • observability
    • replay
  7. expert

    Production Messaging Checklist: Prove Reliability Before Release

    Review message identity, contracts, delivery, idempotency, ordering, resilience, observability, recovery, and ownership with evidence rather than assumptions.

    • messaging
    • production-readiness
    • dotnet
    • transactional-outbox
    • idempotent-consumer
    • saga
    • dead-letter-queue
    • observability
    • resilience