Table of Contents
Basic concepts and principles of RabbitMQ
Basic use of EasyNetQ
Install EasyNetQ in the project
Home Backend Development C#.Net Tutorial RabbitMQ basic concepts and principle examples

RabbitMQ basic concepts and principle examples

Jun 23, 2017 pm 04:35 PM
rabbitmq based on Install Configuration

Basic concepts and principles of RabbitMQ

1.AMQP, Advanced Message Queuing Protocol, is an open standard for application layer protocols. Designed for message-oriented middleware.

2.RabbitMQ is an open source AMQP implementation, and the server side is written in Erlang language.

3.Channel

Channel is the most important interface for us to deal with RabbitMQ. Most of our business operations are completed in the Channel interface, including Define Queue, define Exchange, bind Queue and Exchange, publish messages, etc.

4.Exchange (The producer sends the message to Exchange (exchange), and Exchange routes the message to one or more Queues (or discards them). Exchange Type commonly used by RabbitMQ There are four types: fanout, direct, topic, and headers)

5.Queue (RabbitMQ’s internal object, used to store messages)

6.Basic working principle

## Client (producer) send Message -->Exchange (the switch saves the message to the corresponding queue through different types)-->Queue

The client (consumer) consumes messages in the queue through subscription.

The above basic concepts are compiled from Detailed introduction to the basic concepts of RabbitMQ

Installing RabbitMQ in Windows system

1. Download and install erlang (I use otp_win64_19.3 version)

Download address (choose 32 or 64 bits according to the operating system)

2. Download and install rabbitmq-server (I use It is rabbitmq-server-3.6.10 version)

Download address

After installation, see

in the installation directory

Next, use the enable DOS command

a. cd to the sbin directory. My installation directory is D:\RabbitMQServer\rabbitmq_server-3.6.10\sbin. Enter D: and press Enter, cd RabbitMQServer\rabbitmq_server-3.6 .10\sbin

b. Check whether the installation is successful. Command:

rabbitmqctl status

c. Install the management plug-in command:

rabbitmq-plugins enable rabbitmq_management

The installation is successful, enter http:/ in the browser /127.0.0.1:15672/

Enter the guest account guest password guest and successfully log in. Are you a little excited?

The guest account is an administrator account and can add Exchanges, Queues, and Admin. But we generally do not use the guest account and continue to use commands to add accounts and permissions.

d: Add user:

rabbitmqctl.bat add_user username password

e: Add "Super Administrator" role:

rabbitmqctl.bat set_user_tags username administrator

mymq account is also a super administrator, Can access virtual hosts: No access, You can see that there are no virtual machines that can be accessed. Next, add the virtual machine.

f: Add a virtual machine:

rabbitmqctl add_vhost vhostName

## myvhost virtual machine does not exist Users, next bind an account to the virtual machine.

g: Set virtual machine and user permissions:

rabbitmqctl set_permissions -p virtual machine name account name ".*" ".*" ".*"

h: Out of habit, I usually delete the guest account:

rabbitmqctl.bat delete_user username

Okay, log in to the management page again, everything is normal, and then the actual combat begins.

Basic use of EasyNetQ

Install EasyNetQ in the project

## EasyNetQ depends on RabbitMQ.Client, so it will be installed into the project.

PublishPublish message

Model has a Queue feature, which defines the Queue name and Exchange name. Then directly use the Publish method to push the Msg to the specified queue through the switch specified by the Model.

Run the code and take a look at the MQ management page.

The switch TestQueue.Exchange specified by Model has been created, Type: topic, Features: D.

D:Durable Description The switch created by default is durable.

Because the message has not been subscribed, the corresponding queue cannot be seen in Queues.

Subscribe subscription message

Why do we need to put a while(true) on the subscription code? The purpose is to simulate the console program as a Windows service, because the console program runs in a flash and cannot actually subscribe to MQ messages.

In actual development,

Topself is generally used to publish the console program into Windows Service. I will write a learning blog about Topself later when I have time.

Repeat the Publish operation just now to test the entire process.

Custom Topic

In this way, the message will be sent to the address beginning with the name Test. in all Queue queues.

Send and Receive

Messages can be sent to the specified queue through send and receive.

##

The above is the detailed content of RabbitMQ basic concepts and principle examples. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Solution to the problem that Win11 system cannot install Chinese language pack Solution to the problem that Win11 system cannot install Chinese language pack Mar 09, 2024 am 09:48 AM

Solution to the problem that Win11 system cannot install Chinese language pack With the launch of Windows 11 system, many users began to upgrade their operating system to experience new functions and interfaces. However, some users found that they were unable to install the Chinese language pack after upgrading, which troubled their experience. In this article, we will discuss the reasons why Win11 system cannot install the Chinese language pack and provide some solutions to help users solve this problem. Cause Analysis First, let us analyze the inability of Win11 system to

Unable to install guest additions in VirtualBox Unable to install guest additions in VirtualBox Mar 10, 2024 am 09:34 AM

You may not be able to install guest additions to a virtual machine in OracleVirtualBox. When we click on Devices>InstallGuestAdditionsCDImage, it just throws an error as shown below: VirtualBox - Error: Unable to insert virtual disc C: Programming FilesOracleVirtualBoxVBoxGuestAdditions.iso into ubuntu machine In this post we will understand what happens when you What to do when you can't install guest additions in VirtualBox. Unable to install guest additions in VirtualBox If you can't install it in Virtua

What should I do if Baidu Netdisk is downloaded successfully but cannot be installed? What should I do if Baidu Netdisk is downloaded successfully but cannot be installed? Mar 13, 2024 pm 10:22 PM

If you have successfully downloaded the installation file of Baidu Netdisk, but cannot install it normally, it may be that there is an error in the integrity of the software file or there is a problem with the residual files and registry entries. Let this site take care of it for users. Let’s introduce the analysis of the problem that Baidu Netdisk is successfully downloaded but cannot be installed. Analysis of the problem that Baidu Netdisk downloaded successfully but could not be installed 1. Check the integrity of the installation file: Make sure that the downloaded installation file is complete and not damaged. You can download it again, or try to download the installation file from another trusted source. 2. Turn off anti-virus software and firewall: Some anti-virus software or firewall programs may prevent the installation program from running properly. Try disabling or exiting the anti-virus software and firewall, then re-run the installation

How to install Android apps on Linux? How to install Android apps on Linux? Mar 19, 2024 am 11:15 AM

Installing Android applications on Linux has always been a concern for many users. Especially for Linux users who like to use Android applications, it is very important to master how to install Android applications on Linux systems. Although running Android applications directly on Linux is not as simple as on the Android platform, by using emulators or third-party tools, we can still happily enjoy Android applications on Linux. The following will introduce how to install Android applications on Linux systems.

Understand Linux Bashrc: functions, configuration and usage Understand Linux Bashrc: functions, configuration and usage Mar 20, 2024 pm 03:30 PM

Understanding Linux Bashrc: Function, Configuration and Usage In Linux systems, Bashrc (BourneAgainShellruncommands) is a very important configuration file, which contains various commands and settings that are automatically run when the system starts. The Bashrc file is usually located in the user's home directory and is a hidden file. Its function is to customize the Bashshell environment for the user. 1. Bashrc function setting environment

How to install Podman on Ubuntu 24.04 How to install Podman on Ubuntu 24.04 Mar 22, 2024 am 11:26 AM

If you have used Docker, you must understand daemons, containers, and their functions. A daemon is a service that runs in the background when a container is already in use in any system. Podman is a free management tool for managing and creating containers without relying on any daemon such as Docker. Therefore, it has advantages in managing containers without the need for long-term backend services. Additionally, Podman does not require root-level permissions to be used. This guide discusses in detail how to install Podman on Ubuntu24. To update the system, we first need to update the system and open the Terminal shell of Ubuntu24. During both installation and upgrade processes, we need to use the command line. a simple

How to Install and Run the Ubuntu Notes App on Ubuntu 24.04 How to Install and Run the Ubuntu Notes App on Ubuntu 24.04 Mar 22, 2024 pm 04:40 PM

While studying in high school, some students take very clear and accurate notes, taking more notes than others in the same class. For some, note-taking is a hobby, while for others, it is a necessity when they easily forget small information about anything important. Microsoft's NTFS application is particularly useful for students who wish to save important notes beyond regular lectures. In this article, we will describe the installation of Ubuntu applications on Ubuntu24. Updating the Ubuntu System Before installing the Ubuntu installer, on Ubuntu24 we need to ensure that the newly configured system has been updated. We can use the most famous "a" in Ubuntu system

Detailed steps to install Go language on Win7 computer Detailed steps to install Go language on Win7 computer Mar 27, 2024 pm 02:00 PM

Detailed steps to install Go language on Win7 computer Go (also known as Golang) is an open source programming language developed by Google. It is simple, efficient and has excellent concurrency performance. It is suitable for the development of cloud services, network applications and back-end systems. . Installing the Go language on a Win7 computer allows you to quickly get started with the language and start writing Go programs. The following will introduce in detail the steps to install the Go language on a Win7 computer, and attach specific code examples. Step 1: Download the Go language installation package and visit the Go official website

See all articles