prefazione
In alcuni luoghi, le code di messaggi vengono utilizzate per garantire l'accuratezza dell'elaborazione delle informazioni. Ad esempio, in situazioni di alta concorrenza, i siti web svolgono l'elaborazione dei dati. Oggi questo articolo riporta una semplice dimostrazione di RabbitMQ. Prima di entrare in questo articolo, l'ambiente RbMQ deve essere installato in anticipo (perché ho installato l'ambiente locale RbMQ in precedenza, e temo che la disinstallazione possa causare problemi legati al fatto che il registro non sia pulito, quindi non registrerò l'installazione dell'ambiente qui).
Ambiente e strumenti
>Sistema Windows 10
>Servizi Ambientali RabbitMQ
>VS 2017
Testo
1: Creare due nuove applicazioni console, ovvero "RabbitMQClient" e "RabbitMQServer".
2: Fare riferimento alla dll "RabbitMQ.Client"
3: Nel progetto RabbitMQClient, Program.cs, incolla il seguente codice
4: Nel progetto RabbitMQServer, Program.cs, incolla il seguente codice
5: F5 per avviare il progetto RabbitMQServer, nella console, inserire le informazioni, premere invio.
6: Non chiudere la console del progetto RabbitMQServer, clicca con il tasto destro sul progetto RabbitMQClient - > "Debug" - > "Avvia una nuova istanza"
Puoi inserire le informazioni nella console RabbitMQServer a destra per visualizzarle a sinistra. Il progetto RabbitMQServer produce messaggi. Il progetto RabbitMQClient elabora (consuma) i messaggi. Questo è il produttore e il consumatore nella coda dei messaggi. Il codice riguarda anche il routing e i canali.
Dal lato del produttore dei messaggi, inserisci le informazioni da elaborare nella coda dei messaggi. Dopo aver ricevuto il messaggio, il consumatore può elaborare questi dati di conseguenza.
Se l'ambiente è installato, l'indirizzo della porta predefinito locale dovrebbe essere http://localhost:15672/#/queues. Puoi accedere direttamente all'account ospite, oppure puoi configurare l'account e i permessi corrispondenti toccando la riga di comando.
Le informazioni che hai appena inserito nella console RabbitMQServer esistono effettivamente prima nella coda dei messaggi, puoi chiudere prima la finestra di RabbitMQClient, poi inserire alcune informazioni nella finestra, osservare la coda dei messaggi e vedere che ci sono tre dati nella coda.
Quando la nostra finestra RabbitMQClient avvia, il messaggio scomparirà automaticamente dalla coda dopo averlo ricevuto normalmente. Questo è il meccanismo di conferma della coda dei messaggi: una volta ricevute correttamente le informazioni di cui abbiamo bisogno, il consumatore restituirà uno stato alla coda dei messaggi per distruggere il messaggio. Se il consumatore non riceve il messaggio, o se c'è un'eccezione e non restituisce questo valore di stato, il messaggio rimarrà in coda fino a quando il messaggio non sarà consumato normalmente, garantendo così l'accuratezza del messaggio.
Epilogo
Purtroppo, ci sono pochissimi posti dove uso le code di messaggi nei miei progetti. Senza una comprensione approfondita, verranno usate solo le basi.
C'è una lacuna nella demo sopra, e la connessione di RbMQ in RabbitMQClient ha un livello di utilizzo. Poiché si tratta di un thread asincrono, questo farà sì che il programma eseguisca e ricicli la connessione RbMQ prima di aver finito di ricevere il messaggio, e verrà segnalato un errore. Il modo per gestirlo è: rimuovi l'uso e rilascia manualmente.
|