search
HomeJavajavaTutorialRabbitMQ installation (windows) example tutorial

RabbitMQ installation (windows) example tutorial

Jul 18, 2017 pm 02:44 PM
rabbitmqstudynotes

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

Use the command line to view the exchange list

sbin>rabbitmqctl list_exchanges

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);

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
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
Java Platform Independence: Compatibility with different OSJava Platform Independence: Compatibility with different OSMay 13, 2025 am 12:11 AM

JavaachievesplatformindependencethroughtheJavaVirtualMachine(JVM),allowingcodetorunondifferentoperatingsystemswithoutmodification.TheJVMcompilesJavacodeintoplatform-independentbytecode,whichittheninterpretsandexecutesonthespecificOS,abstractingawayOS

What features make java still powerfulWhat features make java still powerfulMay 13, 2025 am 12:05 AM

Javaispowerfulduetoitsplatformindependence,object-orientednature,richstandardlibrary,performancecapabilities,andstrongsecurityfeatures.1)PlatformindependenceallowsapplicationstorunonanydevicesupportingJava.2)Object-orientedprogrammingpromotesmodulara

Top Java Features: A Comprehensive Guide for DevelopersTop Java Features: A Comprehensive Guide for DevelopersMay 13, 2025 am 12:04 AM

The top Java functions include: 1) object-oriented programming, supporting polymorphism, improving code flexibility and maintainability; 2) exception handling mechanism, improving code robustness through try-catch-finally blocks; 3) garbage collection, simplifying memory management; 4) generics, enhancing type safety; 5) ambda expressions and functional programming to make the code more concise and expressive; 6) rich standard libraries, providing optimized data structures and algorithms.

Is Java Truly Platform Independent? How 'Write Once, Run Anywhere' WorksIs Java Truly Platform Independent? How 'Write Once, Run Anywhere' WorksMay 13, 2025 am 12:03 AM

JavaisnotentirelyplatformindependentduetoJVMvariationsandnativecodeintegration,butitlargelyupholdsitsWORApromise.1)JavacompilestobytecoderunbytheJVM,allowingcross-platformexecution.2)However,eachplatformrequiresaspecificJVM,anddifferencesinJVMimpleme

Demystifying the JVM: Your Key to Understanding Java ExecutionDemystifying the JVM: Your Key to Understanding Java ExecutionMay 13, 2025 am 12:02 AM

TheJavaVirtualMachine(JVM)isanabstractcomputingmachinecrucialforJavaexecutionasitrunsJavabytecode,enablingthe"writeonce,runanywhere"capability.TheJVM'skeycomponentsinclude:1)ClassLoader,whichloads,links,andinitializesclasses;2)RuntimeDataAr

Is java still a good language based on new features?Is java still a good language based on new features?May 12, 2025 am 12:12 AM

Javaremainsagoodlanguageduetoitscontinuousevolutionandrobustecosystem.1)Lambdaexpressionsenhancecodereadabilityandenablefunctionalprogramming.2)Streamsallowforefficientdataprocessing,particularlywithlargedatasets.3)ThemodularsystemintroducedinJava9im

What Makes Java Great? Key Features and BenefitsWhat Makes Java Great? Key Features and BenefitsMay 12, 2025 am 12:11 AM

Javaisgreatduetoitsplatformindependence,robustOOPsupport,extensivelibraries,andstrongcommunity.1)PlatformindependenceviaJVMallowscodetorunonvariousplatforms.2)OOPfeatureslikeencapsulation,inheritance,andpolymorphismenablemodularandscalablecode.3)Rich

Top 5 Java Features: Examples and ExplanationsTop 5 Java Features: Examples and ExplanationsMay 12, 2025 am 12:09 AM

The five major features of Java are polymorphism, Lambda expressions, StreamsAPI, generics and exception handling. 1. Polymorphism allows objects of different classes to be used as objects of common base classes. 2. Lambda expressions make the code more concise, especially suitable for handling collections and streams. 3.StreamsAPI efficiently processes large data sets and supports declarative operations. 4. Generics provide type safety and reusability, and type errors are caught during compilation. 5. Exception handling helps handle errors elegantly and write reliable software.

See all articles

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

Hot Tools

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment