# RabbitMQ ## 📕 Articles - [RabbitMQ Introduction](https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html) ⭐ - [RabitMQ Work Queues(using the .NET Client)](https://www.rabbitmq.com/tutorials/tutorial-two-dotnet.html) ⭐ - [RabbitMQ Publish/Subscribe](https://www.rabbitmq.com/tutorials/tutorial-three-dotnet.html) ⭐ - [RabbitMQ Routing](https://www.rabbitmq.com/tutorials/tutorial-four-dotnet.html) ⭐ - [RabbitMQ Topics](https://www.rabbitmq.com/tutorials/tutorial-five-dotnet.html) ⭐ - [RabbitMQ Remote procedure call (RPC)](https://www.rabbitmq.com/tutorials/tutorial-six-dotnet.html) ⭐ - [RabbitMQ Publisher Confirms](https://www.rabbitmq.com/tutorials/tutorial-seven-dotnet.html) ⭐ - [Consumer Acknowledgements and Publisher Confirms](https://www.rabbitmq.com/confirms.html) ⭐ - [Alternate Exchanges](https://www.rabbitmq.com/ae.html) ⭐ - [Consumer Prefetch](https://www.rabbitmq.com/consumer-prefetch.html) ⭐ - [Time-To-Live and Expiration](https://www.rabbitmq.com/ttl.html) ⭐ - [Dead Letter Exchanges](https://www.rabbitmq.com/dlx.html) ⭐ - [AMQP 0-9-1 Model Explained](https://www.rabbitmq.com/tutorials/amqp-concepts.html) ⭐ - [RabbitMQ URI Specification](https://www.rabbitmq.com/uri-spec.html) - [Compatibility and Conformance - Classes from the AMQP specification](https://www.rabbitmq.com/specification.html) - [AMQP 0-9-1 Complete Reference Guide](https://www.rabbitmq.com/amqp-0-9-1-reference.html) - [Management Plugin - RabbitMQ Http Apis](https://www.rabbitmq.com/management.html) - [Management Command Line Tool](https://www.rabbitmq.com/management-cli.html) - [RabbitMQ HTTP API](https://www.rabbitmq.com/management.html#http-api) - [RabbitMQ HTTP API reference](https://rawcdn.githack.com/rabbitmq/rabbitmq-server/v3.9.13/deps/rabbitmq_management/priv/www/api/index.html) - [.NET/C# Client API Guide](https://www.rabbitmq.com/dotnet-api-guide.html) - [Part 1: RabbitMQ for beginners - What is RabbitMQ?](https://www.cloudamqp.com/blog/part1-rabbitmq-for-beginners-what-is-rabbitmq.html) - [Part 2.2: Getting started with RabbitMQ and Node.js](https://www.cloudamqp.com/blog/part2-2-rabbitmq-for-beginners_example-and-sample-code-node-js.html) - [CloudAMQP with .NET Getting started](https://www.cloudamqp.com/docs/dotnet.html) - [Introduction using in .NET](https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html) - [Introduction to RabbitMQ](https://www.tutlane.com/tutorial/rabbitmq/introduction-to-rabbitmq) - [RabbitMQ Use cases: Explaining message queues and when to use them](https://www.cloudamqp.com/blog/rabbitmq-use-cases-explaining-message-queues-and-when-to-use-them.html) - [When to use RabbitMQ or Apache Kafka](https://www.cloudamqp.com/blog/when-to-use-rabbitmq-or-apache-kafka.html) - [when rabbitmq delete message from queue?](https://stackoverflow.com/questions/32737824/when-rabbitmq-delete-message-from-queue) - [Decoupling the communication with RabbitMQ](https://blexin.com/en/blog-en/decoupling-the-communication-with-rabbitmq/) - [High availability with RabbitMQ](https://blexin.com/en/blog-en/high-availability-with-rabbitmq/) - [Routing Topologies for Performance and Scalability with RabbitMQ](https://spring.io/blog/2011/04/01/routing-topologies-for-performance-and-scalability-with-rabbitmq/) ⭐ - [Messaging with RabbitMQ and .NET review part 1: foundations and terminology](https://dotnetcodr.com/2016/08/02/messaging-with-rabbitmq-and-net-review-part-1-foundations-and-terminology/) - [Messaging with RabbitMQ and .NET review part 2: installation and setup](https://dotnetcodr.com/2016/08/03/messaging-with-rabbitmq-and-net-review-part-2-installation-and-setup/) - [Messaging with RabbitMQ and .NET review part 3: the .NET client and some initial code](https://dotnetcodr.com/2016/08/05/messaging-with-rabbitmq-and-net-review-part-3-the-net-client-and-some-initial-code/) - [Messaging with RabbitMQ and .NET review part 4: one way messaging with a basic consumer](https://dotnetcodr.com/2016/08/08/messaging-with-rabbitmq-and-net-review-part-4-one-way-messaging-with-a-basic-consumer/) - [Messaging with RabbitMQ and .NET review part 5: one way messaging with an event based consumer](https://dotnetcodr.com/2016/08/10/messaging-with-rabbitmq-and-net-review-part-5-one-way-messaging-with-an-event-based-consumer/) - [Messaging with RabbitMQ and .NET review part 6: the fanout exchange type](https://dotnetcodr.com/2016/08/15/messaging-with-rabbitmq-and-net-review-part-6-the-fanout-exchange-type/) - [Messaging with RabbitMQ and .NET review part 7: two way messaging](https://dotnetcodr.com/2016/08/18/messaging-with-rabbitmq-and-net-review-part-7-two-way-messaging/) - [Messaging with RabbitMQ and .NET review part 8: routing and topics](https://dotnetcodr.com/2016/08/25/messaging-with-rabbitmq-and-net-review-part-8-routing-and-topics/) - [Messaging with RabbitMQ and .NET review part 9: headers](https://dotnetcodr.com/2016/08/29/messaging-with-rabbitmq-and-net-review-part-9-headers/) - [Messaging with RabbitMQ and .NET review part 10: scatter/gather](https://dotnetcodr.com/2016/09/01/messaging-with-rabbitmq-and-net-review-part-10-scattergather/) - [Messaging with RabbitMQ and .NET review part 11: various other topics](https://dotnetcodr.com/2016/09/05/messaging-with-rabbitmq-and-net-review-part-11-various-other-topics/) - [RabbitMQ in .NET: data serialisation I](https://dotnetcodr.com/2014/06/05/rabbitmq-in-net-data-serialisation/) - [RabbitMQ in .NET: data serialisation II](https://dotnetcodr.com/2014/06/09/rabbitmq-in-net-data-serialisation-ii/) - [RabbitMQ in .NET: handling large messages](https://dotnetcodr.com/2014/06/12/rabbitmq-in-net-handling-large-messages/) - [RabbitMQ in .NET C#: basic error handling in Receiver](https://dotnetcodr.com/2014/06/16/rabbitmq-in-net-c-basic-error-handling-in-receiver/) - [RabbitMQ in .NET C#: more complex error handling in the Receiver](https://dotnetcodr.com/2014/06/19/rabbitmq-in-net-c-more-complex-error-handling-in-the-receiver/) - [Can we have multiple subscribers for RabbitMQ queue?](https://stackoverflow.com/questions/42351130/can-we-have-multiple-subscribers-for-rabbitmq-queue) - [publisher-confirms](https://www.rabbitmq.com/confirms.html#publisher-confirms) - [(Consumer) Delivery Acknowledgements](https://www.rabbitmq.com/confirms.html#consumer-acknowledgements) - [Introducing Publisher Confirms](https://blog.rabbitmq.com/posts/2011/02/introducing-publisher-confirms) - [Publisher confirms with RabbitMQ and C#](https://rianjs.net/2013/12/publisher-confirms-with-rabbitmq-and-c-sharp) - [Exchange to Exchange binding in RabbitMQ](https://jstobigdata.com/rabbitmq/exchange-to-exchange-binding-in-rabbitmq/) - [RabbitMQ Exchange Types](https://medium.com/trendyol-tech/rabbitmq-exchange-types-d7e1f51ec825) - [Wire Tap Enterprise Integration Pattern](https://www.baeldung.com/wiretap-pattern) - [A C# .NET Client Proxy For The RabbitMQ Management API](http://mikehadlow.blogspot.com/2012/11/a-c-net-client-proxy-for-rabbitmq.html) - [CLEANING UP QUEUES AND EXCHANGES ON RABBITMQ](https://www.planetgeek.ch/2015/08/16/cleaning-up-queues-and-exchanges-on-rabbitmq/) - [CLEANUP CODE FOR CLEANING UP QUEUES AND EXCHANGES ON RABBITMQ](https://www.planetgeek.ch/2015/08/31/cleanup-code-for-cleaning-up-queues-and-exchanges-on-rabbitmq/) - [Dead Letter Exchanges](https://www.rabbitmq.com/dlx.html) - [FAQ: When and how to use the RabbitMQ Dead Letter Exchange](https://www.cloudamqp.com/blog/when-and-how-to-use-the-rabbitmq-dead-letter-exchange.html) ⭐ - [Native AMQP 1.0](https://www.rabbitmq.com/blog/2024/08/05/native-amqp) - [Setting Up a RabbitMQ Cluster](https://levelup.gitconnected.com/setting-up-rabbitmq-cluster-c247d61385ed) - [Clustering Guide](https://www.rabbitmq.com/docs/clustering) ## 📺 Videos - [The best online training tool for RabbitMQ](https://training.cloudamqp.com/) - [What is RabbitMQ?](https://youtu.be/7rkeORD4jSw) - [RabbitMQ : Message Queues for beginners](https://youtu.be/hfUIWe1tK8E) - [RabbitMQ Explained - Use Cases](https://youtu.be/oq1fOr6Ryws) - [RabbitMQ Explained - Exchanges](https://youtu.be/o8eU5WiO8fw) - [Evolutionary history of the RabbitMQ .NET Client towards concurrency - Daniel Marbach](https://www.youtube.com/watch?v=t0lT8eRPyuc) - [Understand RabbitMQ [AMQP Protocol] - RabbitMQ Beginner to Advanced Tutorial - Part 01](https://www.youtube.com/watch?v=ui005IK8QZ8) - [Fanout Exchange in RabbitMQ [AMQP Protocol] - RabbitMQ Beginner to Advanced Tutorial - Part 02](https://www.youtube.com/watch?v=z-32VSl9t3s) - [RabbitMQ C# [RabbitMQ .Net] Implementation - RabbitMQ Beginner to Advanced Tutorial - Part 03](https://www.youtube.com/watch?v=3erQZTV52CI) - [RabbitMQ Best Practice | Webinar with CloudAMQP](https://www.youtube.com/watch?v=HzPOQsMWrGQ) - [How to Use RabbitMQ in ASP.NET Core](https://code-maze.com/aspnetcore-rabbitmq/) - [RabbitMQ- Tutorial 3 - Core Concepts](https://www.youtube.com/watch?v=iIjCjUKwzZw) - [RabbitMQ- Tutorial 5 - AMQP for RabbitMQ (Part 1)](https://www.youtube.com/watch?v=1QPZbPOUmMk) - [RabbitMQ- Tutorial 6 - AMQP for RabbitMQ (Part 2)](https://www.youtube.com/watch?v=mXBAjzns6KA) - [RabbitMQ- Tutorial 7 - Competing Consumers](https://www.youtube.com/watch?v=hi8DjlcbN4A) - [RabbitMQ- Tutorial 8b - Competing Consumers C# Implementation](https://www.youtube.com/watch?v=LBOfQiaGyxQ) - [RabbitMQ- Tutorial 9 - Pub/Sub](https://www.youtube.com/watch?v=rgTW-cserPo) - [RabbitMQ- Tutorial 11- Routing](https://www.youtube.com/watch?v=56IyW2OWllA) - [RabbitMQ- Tutorial 12b - Routing Implementation in C#](https://www.youtube.com/watch?v=JYzhdGvSqrY) - [RabbitMQ- Tutorial 15 - Exchange-Exchange Routing, Headers Exchange and Consistent Hashing Exchange](https://www.youtube.com/watch?v=a3dxzvqDhDg) - [RabbitMQ- Tutorial 16b - Ex-Ex Routing, Headers Exchange and Consistent Hashing Exchange in C#](https://www.youtube.com/watch?v=dDrmSNCEsS0) - [RabbitMQ- Tutorial 17 - Publishing Options](https://www.youtube.com/watch?v=2hQm4IPM8sM) - [RabbitMQ- Tutorial 18 - Alternate Exchanges, Dead Letter Exchanges, Message Acks and Queue Options](https://www.youtube.com/watch?v=M7Mg7izbi7w) - [RabbitMQ- Tutorial 19b - Alt Exchanges, Dead Letter, Message Acks and Queue Options in C#](https://www.youtube.com/watch?v=JUqcxIkpteg) ## 📚 Books - [The Optimal RabbitMQ Guide](https://www.cloudamqp.com/rabbitmq_ebook.html) - [RabbitMQ in Action](https://www.manning.com/books/rabbitmq-in-action) - [RabbitMQ in Depth](https://www.manning.com/books/rabbitmq-in-depth) - [RabbitMQ Essentials - Second Edition](https://www.packtpub.com/product/rabbitmq-essentials-second-edition/9781789131666) ## 📦 Libraries - [rabbitmq/rabbitmq-dotnet-client](https://github.com/rabbitmq/rabbitmq-dotnet-client) - RabbitMQ .NET client for .NET Standard 2.0+ and .NET 4.6.1+ - [rabbitmq/rabbitmq-stream-dotnet-client](https://github.com/rabbitmq/rabbitmq-stream-dotnet-client) - RabbitMQ client for the stream protocol - [thinkco/rabbitmq-httpclient-dotnet](https://github.com/thinkco/rabbitmq-httpclient-dotnet) - RabbitMQ Management HTTP Client for .netCore - [EasyNetQ/EasyNetQ.Management.Client](https://github.com/EasyNetQ/EasyNetQ.Management.Client) - EasyNetQ.Management.Client is a .NET client for the RabbitMQ RESTful management API - [EasyNetQ/EasyNetQ](https://github.com/EasyNetQ/EasyNetQ) - An easy to use .NET API for RabbitMQ - [pardahlman/RawRabbit](https://github.com/pardahlman/RawRabbit) - A modern .NET framework for communication over RabbitMq - [MassTransit/MassTransit/](https://github.com/MassTransit/MassTransit/) - Distributed Application Framework for .NET - [JasperFx/wolverine/](https://github.com/JasperFx/wolverine/) - Next Generation .NET Command and Message Bus - [rabbitmq/rabbitmq-amqp-dotnet-client](https://github.com/rabbitmq/rabbitmq-amqp-dotnet-client) ## 🚀 Samples - [hrabbitmq/rabbitmq-tutorials/dotnet-6](https://github.com/rabbitmq/rabbitmq-tutorials/tree/master/dotnet-6) - [hgmauri/sample-rawrabbit-mediatr](https://github.com/hgmauri/sample-rawrabbit-mediatr) - Example of using RabbitMQ with RawRabbit and MediatR in .NET 5 - [delaneybrian/jumpstartCS-rabbitmq-csharp](https://github.com/delaneybrian/jumpstartCS-rabbitmq-csharp) - [serkodev/rabbitmq-cluster-docker](https://github.com/serkodev/rabbitmq-cluster-docker) - 1-click setup RabbitMQ Cluster with Docker Compose