|
|
Veröffentlicht am 30.05.2019 22:58:30
|
|
|
|

Vorwort
An manchen Orten werden Nachrichtenwarteschlangen verwendet, um die Genauigkeit der Informationsverarbeitung sicherzustellen. Zum Beispiel führen Websites in Situationen mit hoher Nebenläufigkeit die Datenverarbeitung durch. Heute nimmt dieser Artikel eine einfache Demo von RabbitMQ auf. Bevor man diesen Artikel betritt, muss die RbMQ-Umgebung im Voraus installiert werden (da ich die lokale RbMQ-Umgebung bereits installiert habe und ich befürchte, dass die Deinstallation Probleme verursachen könnte, da die Registry nicht sauber ist, weshalb ich die Installation der Umgebung hier nicht festhalten werde).
Umwelt & Werkzeuge
>Windows-10-System
>RabbitMQ Umweltdienste
>VS 2017
Text
1: Zwei neue Konsolenanwendungen erstellen, nämlich "RabbitMQClient" und "RabbitMQServer".
2: Beziehen Sie sich auf die "RabbitMQ.Client"-DLL
3: Im RabbitMQClient-Projekt fügen Sie Program.cs folgenden Code ein
4: Im RabbitMQServer-Projekt fügen Sie Program.cs folgenden Code ein
5: F5, um das RabbitMQServer-Projekt zu starten, geben Sie in der Konsole die Informationen ein, drücken Sie Enter.
6: Schließen Sie die RabbitMQServer-Projektkonsole nicht, klicken Sie mit der rechten Maustaste auf das RabbitMQClient-Projekt > "Debug" > "Neue Instanz starten"
Du kannst Informationen in der RabbitMQServer-Konsole rechts eingeben, um sie links anzuzeigen. Das RabbitMQServer-Projekt erzeugt Nachrichten. Das RabbitMQClient-Projekt verarbeitet (konsumiert) Nachrichten. Dies ist der Produzent und Konsument in der Nachrichtenwarteschlange. Der Code umfasst auch Routing und Kanäle.
Auf Seiten des Nachrichtenproduzenten werden die zu verarbeitenden Informationen in die Nachrichtenwarteschlange eingeworfen. Nach Erhalt der Nachricht kann der Verbraucher diese Daten entsprechend verarbeiten.
Wenn die Umgebung installiert ist, sollte die lokale Standardportadresse http://localhost:15672/#/queues sein. Du kannst direkt auf das Gastkonto zugreifen oder das Konto und die entsprechenden Berechtigungen konfigurieren, indem du auf die Befehlszeile tippst.
Die Informationen, die du gerade in die RabbitMQServer-Konsole eingegeben hast, existieren tatsächlich zuerst in der Nachrichtenwarteschlange, du kannst zuerst das RabbitMQClient-Fenster schließen, dann ein paar Informationen in das Fenster eingeben, die Nachrichtenwarteschlange beobachten und sehen, dass sich drei Datensätze in der Warteschlange befinden.
Wenn unser RabbitMQClient-Fenster startet, verschwindet die Nachricht automatisch aus der Nachrichtenwarteschlange, nachdem sie normal empfangen wurde. Dies ist der Bestätigungsmechanismus der Nachrichtenwarteschlange: Sobald die benötigten Informationen korrekt empfangen sind, gibt der Verbraucher einen Zustand an die Nachrichtenwarteschlange zurück, um die Nachricht zu vernichten. Erhält der Konsument die Nachricht nicht oder gibt es eine Ausnahme, die diesen Statuswert nicht zurückgibt, bleibt die Nachricht in der Warteschlange, bis die Nachricht normal konsumiert wird, was die Genauigkeit der Nachricht sicherstellt.
Epilog
Leider gibt es nur sehr wenige Orte, an denen ich Nachrichtenwarteschlangen in meinen Projekten verwende. Ohne ein tiefgehendes Verständnis werden nur die Grundlagen verwendet.
In der obigen Demo gibt es eine Lücke, und die Verbindung von RbMQ in RabbitMQClient hat eine Nutzungsschicht. Da es sich um einen asynchronen Thread handelt, führt dies dazu, dass das Programm ausführt und die RbMQ-Verbindung recycelt, bevor es die Nachricht vollständig empfangen hat, und ein Fehler wird gemeldet. Der Weg, damit umzugehen, ist: Sie entfernen und manuell freigeben.
|
Vorhergehend:"npm ERR! Fehler: EPERM: Betrieb nicht erlaubt"Nächster:Einführung in neun konventionelle Sehsoftware
|