johdanto
Joissakin paikoissa viestijonoja käytetään tiedonkäsittelyn tarkkuuden varmistamiseksi. Esimerkiksi korkean samanaikaisuuden tilanteissa verkkosivustot suorittavat tiedonkäsittelyä. Tänään tämä artikkeli tallentaa yksinkertaisen RabbitMQ:n demon. Ennen tämän artikkelin aloittamista RbMQ-ympäristö täytyy asentaa etukäteen (koska asensin paikallisen RbMQ-ympäristön aiemmin, ja pelkään, että poistaminen aiheuttaa ongelmia, koska rekisteri ei ole puhdas, joten en tallenna ympäristön asennusta tähän).
Ympäristö ja työkalut
>Windows 10 -järjestelmä
>RabbitMQ Ympäristöpalvelut
>VS 2017
Tekstiviesti
1: Luo kaksi uutta konsolisovellusta, nimittäin "RabbitMQClient" ja "RabbitMQServer".
2: Katso "RabbitMQ.Client" dll
3: RabbitMQClient-projektiin liitä Program.cs seuraava koodi
4: RabbitMQServer-projektissa liitä Program.cs seuraava koodi
5: F5 aloittaaksesi RabbitMQServer-projektin, syötä konsolissa tiedot, paina enter.
6: Älä sulje RabbitMQServer-projektin konsolia, napsauta hiiren oikealla painikkeella RabbitMQClient-projektia – > "Debug" – > "Aloita uusi instanssi"
Voit syöttää tiedot RabbitMQServer-konsoliin oikealla ja näyttää ne vasemmalle. RabbitMQServer-projekti tuottaa viestejä. RabbitMQClient-projekti käsittelee (kuluttaa) viestejä. Tämä on tuottaja ja kuluttaja viestijonossa. Koodi sisältää myös reitityksen ja kanavat.
Viestituottajan puolella pudota käsiteltävä tieto viestijonoon. Viestin saatuaan kuluttaja voi käsitellä tätä dataa asianmukaisesti.
Jos ympäristö on asennettu, paikallinen oletusporttiosoite tulisi olla http://localhost:15672/#/queues. Voit käyttää vierastiliä suoraan tai voit määrittää tilin ja siihen liittyvät oikeudet napauttamalla komentoriviä.
Juuri syöttämäsi tiedot RabbitMQServer-konsolissa ovat itse asiassa viestijonossa ensin, voit sulkea ensin RabbitMQClient-ikkunan, syöttää sitten muutaman tiedon ikkunaan, tarkkailla viestijonoa ja nähdä, että jonossa on kolme tietoa.
Kun RabbitMQClient-ikkunamme käynnistyy, viesti katoaa automaattisesti viestijonosta, kun se on vastaanotettu normaalisti. Tämä on viestijonon vahvistusmekanismi; kun tarvitsemamme tiedot on vastaanotettu tarkasti, kuluttaja palauttaa tilan viestijonoon tuhotakseen viestin. Jos kuluttaja ei saa viestiä tai jos poikkeus ei palauta tätä tilaarvoa, viesti pysyy jonossa, kunnes viesti kulutetaan normaalisti, mikä varmistaa viestin tarkkuuden.
Epilogi
Valitettavasti on hyvin vähän paikkoja, joissa käytän viestijonoja projekteissani. Ilman syvällistä ymmärrystä käytetään vain perusteita.
Yllä olevassa demossa on aukko, ja RabbitMQClientin RbMQ:n yhteydellä on käyttökerros. Koska kyseessä on asynkroninen säie, ohjelma käynnistää ja kierrättää RbMQ-yhteyden ennen viestin vastaanottamista, jolloin virhe raportoidaan. Tapa käsitellä tätä on: poista käyttö ja vapauta se manuaalisesti.
|