Table of Contents
Configuration instructions
Use the command line to view the queue list
Define the queue
Reliability
Repeated processing
ACK
Prevent business load from being concentrated on a certain consumer
About the default Exchange
The basic process of messaging
Topic Exchange wildcard character
The role of the mandatory and immediate flags in the AMQP protocol
1. Mandatory flag bit
2. immediate flag bit
Home Java javaTutorial RabbitMQ installation (windows) example tutorial

RabbitMQ installation (windows) example tutorial

Jul 18, 2017 pm 02:44 PM
rabbitmq study notes

Management background

rabbitmq comes with its own management background, which needs to be configured and turned on after installation
Enter the sbin directory in the rabbitmq installation directory and execute
rabbitmq-plugins enable rabbitmq_management
Restart rabbitmq The service takes effect
Open http://localhost:15672/ to see the management background
The username and password are guest

Configuration instructions


Use the command line to view the queue list

sbin>rabbitmqctl list_queues  
sbin>rabbitmqctl list_queues name messages_ready messages_unacknowledged
Copy after login

Use the command line to view the exchange list

sbin>rabbitmqctl list_exchanges
Copy after login

Define the queue

RabbitMQ does not allow you to redefine an existing one with different parameters queue.

RabbitMQ doesn't allow you to redefine an existing queue with different parameters and will return an error to any program that tries to do that

Reliability

To ensure that messages are not lost, message persistence needs to be set, and the queue must also be durable.
But this is still not 100% reliable, because if RabbitMQ crashes after receiving the message but before completing persistence, the message will be lost.

Repeated processing

Consider the following scenario (premise: queues and messages are durable):

  1. The consumer receives a message msgA, half processed, not completed, no ack confirmation was initiated;

  2. At this time RabbitMQ crashed;

  3. The consumer completed the message msgA Processing;

  4. When RabbitMQ restarts, it is found that msgA has not been processed, so msgA is sent to the consumer again.

In this scenario, message msgA will be processed twice, so the consumer side should have a mechanism to prevent repeated processing.

ACK

ACK confirmation only tells RabbitMQ that the consumer has completed processing the message, not that the logical processing is successful. Even if the business processing fails, ACK confirmation is required. . Because generally speaking, if a failure occurs due to business reasons, retrying will not solve the problem. Only failures caused by network interruptions, machine power outages, etc. require retry.

Prevent business load from being concentrated on a certain consumer

channel.basicQos(prefetchCount);
Copy after login

Set
prefetchCount=1
, tell RabbitMQ to only allocate one to one consumer at a time message until the last message assigned to this consumer is acknowledged and processed. In this way, messages will be allocated to idle consumers every time based on actual processing conditions.

About the default Exchange

The default Exchange is implicitly bound to each queue, and the routing key is the queue name. It cannot be explicitly bound or unbound. And it cannot be deleted.

The default exchange is implicitly bound to every queue, with a routing key equal to the queue name. It is not possible to explicitly bind to, or unbind from the default exchange. It also cannot be deleted .

The basic process of messaging

The publisher publishes a message
-->exchange receives the message (if the publisher does not specify a specific Exchange, the default Exchange is used) , and according to the type of exchange and certain routing rules, the message is routed to each queue that meets the routing rules (if there is no matching queue, the message is discarded)
-->The queue sends the message to the subscriber A certain consumer of the queue (if there is no consumer, the message remains in the queue until a consumer consumes the message)

Topic Exchange wildcard character

The asterisk matches a word (note, Not a letter)

* (star) can substitute for exactly one word.
pound sign matches any number of words
# ( hash) can substitute for zero or more words.

The role of the mandatory and immediate flags in the AMQP protocol

Mandatory and immediate are the two flags in the basic.pulish method in the AMQP protocol Bits, they all have the function of returning messages to the producer when the destination cannot be reached during message delivery. The specific difference is:

1. Mandatory flag bit

When the mandatory flag bit is set to true, if the exchange cannot find a qualified queue based on its own type and message routeKey, then basic will be called The .return method returns the message to the producer; when mandatory is set to false, the broker will directly throw away the message in the above situation.

2. immediate flag bit

When the immediate flag bit is set to true, if exchange finds that there is no consumer on the corresponding queue when routing the message to queue(s), then this The message is not put into the queue. When all queues (one or more) associated with the message routeKey have no consumers, the message will be returned to the producer through the basic.return method.

The above is the detailed content of RabbitMQ installation (windows) example tutorial. 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 Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

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)

Hot Topics

Java Tutorial
1666
14
PHP Tutorial
1273
29
C# Tutorial
1253
24
How to delete Xiaohongshu notes How to delete Xiaohongshu notes Mar 21, 2024 pm 08:12 PM

How to delete Xiaohongshu notes? Notes can be edited in the Xiaohongshu APP. Most users don’t know how to delete Xiaohongshu notes. Next, the editor brings users pictures and texts on how to delete Xiaohongshu notes. Tutorial, interested users come and take a look! Xiaohongshu usage tutorial How to delete Xiaohongshu notes 1. First open the Xiaohongshu APP and enter the main page, select [Me] in the lower right corner to enter the special area; 2. Then in the My area, click on the note page shown in the picture below , select the note you want to delete; 3. Enter the note page, click [three dots] in the upper right corner; 4. Finally, the function bar will expand at the bottom, click [Delete] to complete.

Learn to completely uninstall pip and use Python more efficiently Learn to completely uninstall pip and use Python more efficiently Jan 16, 2024 am 09:01 AM

No more need for pip? Come and learn how to uninstall pip effectively! Introduction: pip is one of Python's package management tools, which can easily install, upgrade and uninstall Python packages. However, sometimes we may need to uninstall pip, perhaps because we wish to use another package management tool, or because we need to completely clear the Python environment. This article will explain how to uninstall pip efficiently and provide specific code examples. 1. How to uninstall pip The following will introduce two common methods of uninstalling pip.

What should I do if the notes I posted on Xiaohongshu are missing? What's the reason why the notes it just sent can't be found? What should I do if the notes I posted on Xiaohongshu are missing? What's the reason why the notes it just sent can't be found? Mar 21, 2024 pm 09:30 PM

As a Xiaohongshu user, we have all encountered the situation where published notes suddenly disappeared, which is undoubtedly confusing and worrying. In this case, what should we do? This article will focus on the topic of "What to do if the notes published by Xiaohongshu are missing" and give you a detailed answer. 1. What should I do if the notes published by Xiaohongshu are missing? First, don't panic. If you find that your notes are missing, staying calm is key and don't panic. This may be caused by platform system failure or operational errors. Checking release records is easy. Just open the Xiaohongshu App and click "Me" → "Publish" → "All Publications" to view your own publishing records. Here you can easily find previously published notes. 3.Repost. If found

A deep dive into matplotlib's colormap A deep dive into matplotlib's colormap Jan 09, 2024 pm 03:51 PM

To learn more about the matplotlib color table, you need specific code examples 1. Introduction matplotlib is a powerful Python drawing library. It provides a rich set of drawing functions and tools that can be used to create various types of charts. The colormap (colormap) is an important concept in matplotlib, which determines the color scheme of the chart. In-depth study of the matplotlib color table will help us better master the drawing functions of matplotlib and make drawings more convenient.

How to add product links in notes in Xiaohongshu Tutorial on adding product links in notes in Xiaohongshu How to add product links in notes in Xiaohongshu Tutorial on adding product links in notes in Xiaohongshu Mar 12, 2024 am 10:40 AM

How to add product links in notes in Xiaohongshu? In the Xiaohongshu app, users can not only browse various contents but also shop, so there is a lot of content about shopping recommendations and good product sharing in this app. If If you are an expert on this app, you can also share some shopping experiences, find merchants for cooperation, add links in notes, etc. Many people are willing to use this app for shopping, because it is not only convenient, but also has many Experts will make some recommendations. You can browse interesting content and see if there are any clothing products that suit you. Let’s take a look at how to add product links to notes! How to add product links to Xiaohongshu Notes Open the app on the desktop of your mobile phone. Click on the app homepage

Getting Started with Pygame: Comprehensive Installation and Configuration Tutorial Getting Started with Pygame: Comprehensive Installation and Configuration Tutorial Feb 19, 2024 pm 10:10 PM

Learn Pygame from scratch: complete installation and configuration tutorial, specific code examples required Introduction: Pygame is an open source game development library developed using the Python programming language. It provides a wealth of functions and tools, allowing developers to easily create a variety of type of game. This article will help you learn Pygame from scratch, and provide a complete installation and configuration tutorial, as well as specific code examples to get you started quickly. Part One: Installing Python and Pygame First, make sure you have

Revealing the appeal of C language: Uncovering the potential of programmers Revealing the appeal of C language: Uncovering the potential of programmers Feb 24, 2024 pm 11:21 PM

The Charm of Learning C Language: Unlocking the Potential of Programmers With the continuous development of technology, computer programming has become a field that has attracted much attention. Among many programming languages, C language has always been loved by programmers. Its simplicity, efficiency and wide application make learning C language the first step for many people to enter the field of programming. This article will discuss the charm of learning C language and how to unlock the potential of programmers by learning C language. First of all, the charm of learning C language lies in its simplicity. Compared with other programming languages, C language

Let's learn how to input the root number in Word together Let's learn how to input the root number in Word together Mar 19, 2024 pm 08:52 PM

When editing text content in Word, you sometimes need to enter formula symbols. Some guys don’t know how to input the root number in Word, so Xiaomian asked me to share with my friends a tutorial on how to input the root number in Word. Hope it helps my friends. First, open the Word software on your computer, then open the file you want to edit, and move the cursor to the location where you need to insert the root sign, refer to the picture example below. 2. Select [Insert], and then select [Formula] in the symbol. As shown in the red circle in the picture below: 3. Then select [Insert New Formula] below. As shown in the red circle in the picture below: 4. Select [Radical Formula], and then select the appropriate root sign. As shown in the red circle in the picture below:

See all articles