Quick Start: How could you build a messaging solution with .Net Core?

Ali Süleyman Topuz
Feb 1 · 3 min read
  • How could you build a messaging solution with .Net Core Part 1
  • How could you build a messaging solution with .Net Core Part 2
  • How could you build a messaging solution with .Net Core Part 3
  • How could you build a messaging solution with .Net Core Part 4

In this series, I will present a sample messaging solution. In the first part of the series, we will examine advanced messaging queue protocol terms.

What is AMQP?

Advanced Message Queuing Protocol (AMQP) is an application layer protocol that allows client applications to talk and interact with the server. AMQP is created as an open standard protocol that allows messaging interoperability between systems regardless of the message broker or platform used.

AMQP defines both the network layer protocol and a high-level architecture for message brokers.

AMQP Specification
|- AMQP Model (Application Level Specification)
|- AMQP (Network Protocol)

Message clients using AMQP are completely “agnostic”. With AMQP, you can use any AMQP compatible client library.

Producer/Consumer Jargon in Message Broker

If the application sends message to be consumed, we call this application as Producer (Sender).

If the application listens and handle the message to be consumed, we call this application as consumer. Basically mechanism as follows.

Producer sends the message to queue and Consumer handles it from queue

What is RabbitMQ ?

RabbitMQ is an open-source message-broker software that originally implemented the Advanced Message Queuing Protocol and has since been extended with a plug-in architecture to support Streaming Text Oriented Messaging Protocol, MQ Telemetry Transport, and other protocols. Wikipedia

So basically, As a message broker, RabbitMQ provides this mechanism to client applications:

Producer sends the message to queue and Consumer handles it from queue

The client applications can produce messages and consumers can handle these messages to be consumed. So, this is typical a distributed application development technology within application layer.

CloudAMQP — RabbitMQ as a Service

CloudAMQP provides RabbitMQ Cluster as a service and it has free tier.

Free RabbitMQ as a Service — CloudAMQP

In the client application, you need these configuration settings below from this portal above:

"RabbitMq": {
"Hostname": "amqps://....",
"UserName": "....",
"Password": "...",
"Enabled": true
}

In next part, we will see an example, Safe Email Testing provider.

C# Programming

Learn, Build & Execute