|
|
Publisert på 30.05.2019 22:58:30
|
|
|
|

forord
På enkelte steder brukes meldingskøer for å sikre nøyaktigheten av informasjonsbehandlingen. For eksempel, i situasjoner med høy samtidighet, utfører nettsteder databehandling. I dag tar denne artikkelen opp en enkel demo av RabbitMQ. Før vi går inn i denne artikkelen, må RbMQ-miljøet installeres på forhånd (fordi jeg installerte det lokale RbMQ-miljøet før, og jeg er redd for at avinstallasjon vil føre til problemer fordi registeret ikke er rent, så jeg vil ikke registrere installasjonen av miljøet her).
Miljø og verktøy
>Windows 10-system
>RabbitMQ Miljøtjenester
>VS 2017
Tekst
1: Lag to nye konsollapplikasjoner, nemlig "RabbitMQClient" og "RabbitMQServer".
2: Se "RabbitMQ.Client" dll
3: I RabbitMQClient-prosjektet, Program.cs, lim inn følgende kode
4: I RabbitMQServer-prosjektet, Program.cs, lim inn følgende kode
5: F5 for å starte RabbitMQServer-prosjektet, skriv inn informasjonen i konsollen, trykk enter.
6: Ikke lukk RabbitMQServer-prosjektkonsollen, høyreklikk på RabbitMQClient-prosjektet > "Debug" - > "Start en ny instans"
Du kan legge inn informasjon i RabbitMQServer-konsollen til høyre for å vise den til venstre. RabbitMQServer-prosjektet produserer meldinger. RabbitMQClient-prosjektet behandler (forbruker) meldinger. Dette er produsent og forbruker i meldingskøen. Koden involverer også ruting og kanaler.
På meldingsprodusentens side, legg informasjonen som skal behandles inn i meldingskøen. Etter å ha mottatt meldingen, kan forbrukeren behandle disse dataene deretter.
Hvis miljøet er installert, skal den lokale standardportadressen være http://localhost:15672/#/queues. Du kan få direkte tilgang til gjestekontoen, eller du kan konfigurere kontoen og de tilhørende tillatelsene ved å trykke på kommandolinjen.
Informasjonen du nettopp la inn i RabbitMQServer-konsollen finnes faktisk i meldingskøen først, du kan lukke RabbitMQClient-vinduet først, og så legge inn noen få informasjonsbiter i vinduet, observere meldingskøen, og du kan se at det er tre databiter i køen.
Når vårt RabbitMQClient-vindu starter, vil meldingen automatisk forsvinne fra meldingskøen etter å ha mottatt den normalt. Dette er bekreftelsesmekanismen til meldingskøen; når informasjonen vi trenger er korrekt mottatt, vil forbrukeren returnere en tilstand til meldingskøen for å ødelegge meldingen. Hvis forbrukeren ikke mottar meldingen, eller hvis det finnes et unntak og ikke returnerer denne statusverdien, vil meldingen forbli i køen til meldingen er konsumert normalt, noe som sikrer nøyaktigheten av meldingen.
Epilog
Dessverre er det svært få steder hvor jeg bruker meldingskøer i prosjektene mine. Uten inngående forståelse vil kun det grunnleggende brukes.
Det er et hull i demoen ovenfor, og koblingen til RbMQ i RabbitMQClient har et lag med bruk. Siden det er en asynkron tråd, vil dette føre til at programmet kjører og resirkulerer RbMQ-tilkoblingen før det er ferdig med å motta meldingen, og en feil vil bli rapportert. Måten å håndtere det på er: fjerne bruken og slippe den manuelt.
|
Foregående:"npm ERR! Feil: EPERM: operasjon ikke tillatt"Neste:Introduksjon til ni konvensjonelle synsprogrammer
|