Tutorials
Step by step, in order, each one ending with something that runs.
The guide explains how a thing works and why it is that way. These are the other shape: start with nothing, finish with a working service, and understand what you typed by the end rather than before the beginning.
| 1 | Your first message | Connect, declare, publish, consume. No broker needed |
| 2 | Surviving failure | Retries that do not block, dead letters, and replaying them |
| 3 | Never processing twice | Idempotency, the outbox, and why "exactly once" is a lie |
| 4 | Seeing what happens | Metrics and traces, and reading them when something is wrong |
Tutorial 1 needs nothing but the .NET SDK — it runs against the in-process broker. The rest use Docker for a real RabbitMQ, because what they teach is about how a broker behaves and an in-memory one would be teaching you a simplification.
Before you start
dotnet new console -n Orders && cd Orders<!-- nuget.config, beside the project -->
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="acemq" value="https://acemq.org/nuget/index.json" />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>dotnet add package AceMq.Amqp
dotnet add package AceMq.Amqp.RabbitMqEverything here is C#. It works identically from VB.NET — the same
assembly, the same types, (Of T) where C# writes
<T>. See VB.NET.