Heim > Artikel > Backend-Entwicklung > Grundlegende Konzepte und Prinzipbeispiele von RabbitMQ
1.AMQP, Advanced Message Queuing Protocol, ist ein offener Standard für Protokolle auf Anwendungsebene, der für die Nachrichtenorientierung entwickelt wurde Middleware.
2.RabbitMQ ist eine Open-Source-AMQP-Implementierung und die Serverseite ist in Erlang-Sprache geschrieben.
3.Kanal
Der Kanal ist für uns die wichtigste Schnittstelle für den Umgang mit RabbitMQ. Die meisten unserer Geschäftsvorgänge werden in der Kanalschnittstelle abgeschlossen, einschließlich „Warteschlange definieren“. Definieren Sie Exchange, binden Sie Warteschlange und Exchange, veröffentlichen Sie Nachrichten usw.
4.Exchange (Der Produzent sendet die Nachricht an den Exchange (Exchange), und der Exchange leitet die Nachricht an eine oder mehrere Warteschlangen weiter (oder verwirft sie), der üblicherweise verwendete Exchange-Typ von RabbitMQ Es gibt vier Typen: Fanout, Direkt, Thema, Header)
5.Warteschlange (RabbitMQs internes Objekt, das zum Speichern von Nachrichten verwendet wird)
6 Prinzip
Client (Produzent) sendet Nachricht -->Exchange (der Schalter speichert die Nachricht über verschiedene Typen in der entsprechenden Warteschlange)-->Queue
Der Client (Verbraucher) nutzt die Nachrichten in der Warteschlange über ein Abonnement.
Die oben genannten Grundkonzepte sind zusammengestellt aus Detaillierte Einführung in die Grundkonzepte von RabbitMQ
1. Erlang herunterladen und installieren (ich verwende die Version otp_win64_19.3)
Adresse herunterladen (wählen Sie je nach Betriebssystem 32 oder 64 Bit)
2. Rabbitmq herunterladen und installieren Server (Ich verwende Es ist die Version Rabbitmq-Server-3.6.10)
Download-Adresse
Nach der Installation siehe
im Installationsverzeichnis
Als nächstes verwenden Sie den DOS-Befehl „enable“
a. Mein Installationsverzeichnis ist D:RabbitMQServerrabbitmq_server-3.6.10sbin >
b. Befehl zur Überprüfung, ob die Installation erfolgreich war:rabbitmqctl status
c Management-Plug-in-Befehl:rabbitmq-plugins aktivieren Rabbitmq_management
Die Installation ist erfolgreich, geben Sie http://127.0 ein. 0.1:15672/ Geben Sie das Gastkonto Gastpasswort Gast ein und melden Sie sich erfolgreich an. Sind Sie schon ein wenig aufgeregt? Das Gastkonto ist ein Administratorkonto und kann Exchanges, Warteschlangen und Admin hinzufügen. Wir verwenden das Gastkonto jedoch im Allgemeinen nicht und verwenden weiterhin Befehle zum Hinzufügen von Konten und Berechtigungen. d: Benutzer hinzufügen:
rabbitmqctl.bat add_user Benutzername Passwort
e: Rolle „Superadministrator“ hinzufügen:Rabbitmqctl.bat set_user_tags Benutzername Administrator
mymq-Konto ist auch ein Superadministrator. Kann auf virtuelle Hosts zugreifen: Kein Zugriff, Sie Sie können sehen, dass noch keine virtuellen Maschinen vorhanden sind, auf die zugegriffen werden kann. Fügen Sie als Nächstes die virtuelle Maschine hinzu. f: Virtuelle Maschine hinzufügen:rabbitmqctl add_vhost vhostName
Die virtuelle Maschine myvhost tut dies Wenn Sie keine Benutzer sind, binden Sie als Nächstes ein Konto an die virtuelle Maschine. g: Berechtigungen für virtuelle Maschine und Benutzer festlegen:rabbitmqctl set_permissions -p Name der virtuellen Maschine Kontoname ".*" ".*" ".*"
h: Aus Gewohnheit lösche ich normalerweise das Gastkonto:rabbitmqctl.bat delete_user Benutzername
Okay, melde dich erneut auf der Verwaltungsseite an, alles ist normal und dann beginnt der eigentliche Kampf.
EasyNetQ ist von RabbitMQ.Client abhängig und wird daher im Projekt installiert.
Modell verfügt über eine Warteschlangenfunktion, die den Namen der Warteschlange definiert und Börsenname. Verwenden Sie dann direkt die Publish-Methode, um die Nachricht über den vom Modell angegebenen Schalter in die angegebene Warteschlange zu verschieben.
Führen Sie den Code aus und sehen Sie sich die MQ-Verwaltungsseite an.
Der durch Model angegebene Schalter TestQueue.Exchange, Type:topic, Features:D wurde erstellt. D:Durable gibt an, dass der standardmäßig erstellte Schalter langlebig ist.
Da die Nachricht noch nicht abonniert wurde, kann die entsprechende Warteschlange nicht in Warteschlangen angezeigt werden.
Warum müssen Sie eine Weile (true) in den Abonnementcode einfügen? Der Zweck besteht darin, das Konsolenprogramm als Windows-Dienst zu simulieren, da das Konsolenprogramm blitzschnell ausgeführt wird und keine MQ-Nachrichten abonnieren kann.
In der tatsächlichen Entwicklung wird Topself im Allgemeinen verwendet, um das Konsolenprogramm in einem Windows-Dienst zu veröffentlichen, wenn ich Zeit habe.
Wiederholen Sie den Veröffentlichungsvorgang gerade, um den gesamten Vorgang zu testen.
Auf diese Weise wird die Nachricht an die Adresse gesendet beginnend mit dem Namen Test in allen Warteschlangen.
können Nachrichten über Senden und Empfangen an die angegebene Warteschlange senden.
Das obige ist der detaillierte Inhalt vonGrundlegende Konzepte und Prinzipbeispiele von RabbitMQ. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!