# Documentation - [Comparison](/docs/comparison): How TurboMediator compares to MediatR and MassTransit - [TurboMediator](/docs): A high-performance Mediator library for .NET using Source Generators. Zero reflection, Native AOT compatible, and compile-time validated. - [Vibecoded with Opus](/docs/vibecoded): TurboMediator was written entirely through AI-assisted development using Claude Opus. Here's why that's not a problem. - [Why TurboMediator?](/docs/why): Why the Mediator pattern still matters, when to use it, and how it helps you build scalable .NET applications. - [Handlers](/docs/core/handlers): Creating handlers for messages in TurboMediator - [Mediator Context](/docs/core/mediator-context): Flowing contextual data through the pipeline with IMediatorContext - [Messages](/docs/core/messages): Understanding message types in TurboMediator — Requests, Commands, Queries, and Notifications - [Notifications](/docs/core/notifications): Publishing notifications to multiple handlers with configurable dispatch strategies - [Streaming](/docs/core/streaming): Using IAsyncEnumerable for streaming responses with TurboMediator - [Authorization](/docs/enterprise/authorization): Declarative authorization with attributes and policy-based access control - [Deduplication](/docs/enterprise/deduplication): Prevent duplicate message processing with idempotency support - [Multi-Tenancy](/docs/enterprise/multi-tenancy): Tenant isolation and validation for multi-tenant applications - [Installation](/docs/getting-started/installation): How to install TurboMediator and its optional packages - [Quick Start](/docs/getting-started/quick-start): Get up and running with TurboMediator in minutes - [Source Generator](/docs/integrations/source-generator): How the TurboMediator source generator works and its build-time diagnostics - [Correlation ID](/docs/observability/correlation-id): Propagating correlation IDs across the pipeline for distributed tracing - [Health Checks](/docs/observability/health-checks): Monitor mediator health with ASP.NET Core health checks - [Metrics](/docs/observability/metrics): Detailed request metrics with System.Diagnostics.Metrics - [Structured Logging](/docs/observability/structured-logging): Rich structured logging with sensitive property masking - [Telemetry](/docs/observability/telemetry): OpenTelemetry distributed tracing and metrics integration - [Batching](/docs/patterns/batching): Batch multiple queries for efficient bulk processing - [Caching](/docs/patterns/caching): Automatic response caching with attribute-based configuration - [Distributed Locking](/docs/patterns/distributed-locking): Mutual exclusion across multiple instances using attribute-based distributed locks - [Feature Flags](/docs/patterns/feature-flags): Conditionally enable or disable handlers with feature flags - [FluentValidation](/docs/patterns/fluent-validation): Automatic input validation using FluentValidation - [Rate Limiting](/docs/patterns/rate-limiting): Control request throughput with rate limiting and bulkhead isolation - [Result Pattern](/docs/patterns/result-pattern): Explicit error handling with Result types instead of exceptions - [Saga Pattern](/docs/patterns/saga): Orchestrate distributed transactions with compensating actions - [State Machine](/docs/patterns/state-machine): Entity lifecycle management with guards, transitions, and mediator integration - [Built-in Validation](/docs/patterns/validation): Lightweight validation without FluentValidation dependency - [Audit](/docs/persistence/audit): Automatic audit logging for mediator operations - [Entity Framework Core](/docs/persistence/entity-framework): EF Core implementations for transactions, outbox, inbox, and audit stores - [Inbox Pattern](/docs/persistence/inbox): At-most-once message processing with built-in idempotency and deduplication - [Outbox Pattern](/docs/persistence/outbox): Reliable message delivery with the transactional outbox pattern - [Transactions](/docs/persistence/transactions): Automatic transaction management for handlers - [Pipeline Behaviors](/docs/pipeline/behaviors): Adding cross-cutting concerns with IPipelineBehavior - [Exception Handlers](/docs/pipeline/exception-handlers): Gracefully handling exceptions in the pipeline - [Pre & Post Processors](/docs/pipeline/pre-post-processors): Running logic before and after handler execution - [Circuit Breaker](/docs/resilience/circuit-breaker): Prevent cascading failures with the circuit breaker pattern - [Fallback](/docs/resilience/fallback): Define fallback strategies when handlers fail - [Hedging](/docs/resilience/hedging): Send parallel requests to improve latency with hedging - [Retry](/docs/resilience/retry): Automatic retry with exponential backoff for transient failures - [Timeout](/docs/resilience/timeout): Set execution time limits for handlers - [Entity Framework Core](/docs/scheduling/entity-framework): Persist scheduled jobs using EF Core with optimistic concurrency - [Scheduling](/docs/scheduling): Cron jobs and recurring job scheduling for TurboMediator - [Job Chaining vs Saga](/docs/scheduling/job-chaining-vs-saga): Understanding when to use scheduling chains vs saga orchestration - [Job Store](/docs/scheduling/job-store): Persistence, records, and runtime management for scheduled jobs - [Recurring Jobs](/docs/scheduling/recurring-jobs): Configure cron-based and interval-based recurring jobs - [Retry Strategies](/docs/scheduling/retry-strategies): Configure retry behavior for failed recurring jobs - [CLI Tool](/docs/tooling/cli): Analyze, document, and benchmark your TurboMediator setup - [Testing](/docs/tooling/testing): Testing utilities, fakes, and helpers for TurboMediator