előszó
Egyes helyeken üzenetsorokat használnak az információfeldolgozás pontosságának biztosítására. Például magas egyidejű helyzetekben a weboldalak adatfeldolgozást végeznek. Ma ez a cikk egy egyszerű demót rögzít a RabbitMQ-ról. Mielőtt belevágnánk ebbe a cikkbe, az RbMQ környezetet előre be kell telepíteni (mert korábban telepítettem a helyi RbMQ környezetet, és attól tartok, hogy a törlés problémákat okozhat, mert a regiszter nem tiszta, ezért nem rögzítem a környezet telepítését itt).
Környezet és eszközök
>Windows 10 rendszer
>RabbitMQ Környezetvédelmi Szolgáltatások
>VS 2017
SMS
1: Hozzon létre két új konzolalkalmazást, nevezetesen a "RabbitMQClient" és a "RabbitMQServer".
2: Nézd meg a "RabbitMQ.Client" dll-t
3: A RabbitMQClient projektben Program.cs illesztsd be a következő kódot
4: A RabbitMQServer projektben Program.cs illesztsd be a következő kódot
5: F5 a RabbitMQServer projekt elindításához a konzolon írd be az információkat, nyomd meg az entert.
6: Ne zárd be a RabbitMQServer projektkonzolt, jobb kattintással a RabbitMQClient projektre – > "Debug" – > "Új instance indítása"
Az adatokat a jobb oldali RabbitMQServer konzolon adhatod be, hogy balra megjelenítsd. A RabbitMQServer projekt üzeneteket generál. A RabbitMQClient projekt feldolgozza (fogyasztja) üzeneteket. Ez a gyártó és a fogyasztó az üzenetsorban. A kód az útvonaltervezést és csatornákat is magában foglalja.
Az üzenetkészítő oldalán a feldolgozandó információkat dobd be az üzenetsorba. Az üzenet megérkezése után a fogyasztó ennek megfelelően feldolgozhatja ezeket az adatokat.
Ha a környezet telepítve van, a helyi alapértelmezett portcímnek http://localhost:15672/#/queues kell lennie. Közvetlenül hozzáférhetsz a vendégfiókhoz, vagy a fiókot és a hozzá tartozó jogosultságokat a parancssorra kattintással konfigurálhatod.
Az információ, amit most vittél be a RabbitMQServer konzolba, először az üzenetsorban található, először bezárhatod a RabbitMQClient ablakot, majd beírhatod néhány információt az ablakba, megfigyeled az üzenetsort, és láthatod, hogy három adatdarab van a sorban.
Amikor a RabbitMQClient ablakunk elindul, az üzenet automatikusan eltűnik az üzenetsorból, miután normál módon megkaptuk. Ez az üzenetsorban lévő megerősítési mechanizmus, amikor a szükséges információt pontosan megkapjuk, a fogyasztó visszavezet egy állapotot az üzenetsorba, hogy megsemmisítse az üzenetet. Ha a fogyasztó nem kapja meg az üzenetet, vagy van kivétel, és nem adja vissza ezt a státuszértéket, az üzenet a sorban marad, amíg az üzenet normálisan el nem fogyasztódik, ami biztosítja az üzenet pontosságát.
Epilógus
Sajnos nagyon kevés helyen használok üzenetsorokat a projektjeimben. Mélyreható ismeretek nélkül csak az alapokat fogják használni.
A fenti demóban lyuk van, és az RbMQ csatlakozása a RabbitMQClientben egy használati réteget tartalmaz. Mivel aszinkron szál, ez miatt a program lefut és újrahasznosítja az RbMQ kapcsolatot, mielőtt befejezné az üzenet megérkezését, és hiba jelenthető. A kezelés módja: távolítsd el a használatot, és engedd el kézzel.
|