predgovor
Na nekaterih mestih se za zagotavljanje natančnosti obdelave informacij uporabljajo vrste sporočil. Na primer, v primerih visoke sočasnosti spletne strani izvajajo obdelavo podatkov. Danes ta članek posname preprost demo RabbitMQ. Preden vstopim v ta članek, je treba predhodno namestiti RbMQ okolje (ker sem lokalno RbMQ okolje namestil prej in me skrbi, da bi odstranitev povzročila težave, ker register ni čist, zato ne bom zapisoval namestitve okolja tukaj).
Okolje in orodja
>Sistem Windows 10
>RabbitMQ okoljske storitve
>VS 2017
Besedilno sporočilo
1: Ustvariti dve novi konzolni aplikaciji, in sicer "RabbitMQClient" in "RabbitMQServer".
2: Poglejte "RabbitMQ.Client" dll
3: V projektu RabbitMQClient Program.cs prilepite naslednjo kodo
4: V projektu RabbitMQServer Program.cs, prilepite naslednjo kodo
5: F5 za začetek projekta RabbitMQServer, v konzoli vnesite podatke, pritisnite enter.
6: Ne zapirajte konzole projekta RabbitMQServer, kliknite z desnim klikom na projekt RabbitMQClient - > "Debug" - > "Začni novo instanco"
Podatke lahko vnesete v konzolo RabbitMQServer na desni in jih prikažete na levi. Projekt RabbitMQServer ustvarja sporočila. Projekt RabbitMQClient obdeluje (porabi) sporočila. To sta proizvajalec in potrošnik v vrsti sporočil. Koda vključuje tudi usmerjanje in kanale.
Na strani proizvajalca sporočil vstavite informacije, ki jih je treba obdelati, v vrsto sporočil. Po prejemu sporočila lahko potrošnik te podatke ustrezno obdela.
Če je okolje nameščeno, bi moral biti lokalni privzeti naslov porta http://localhost:15672/#/queues. Do gostujočega računa lahko dostopate neposredno ali pa nastavite račun in ustrezna dovoljenja s tapkanjem ukazne vrstice.
Podatki, ki ste jih pravkar vnesli v konzolo RabbitMQServer, dejansko najprej obstajajo v vrsti sporočil, najprej lahko zaprete okno RabbitMQClient, nato vnesete nekaj podatkov v okno, opazujete vrsto sporočil in vidite, da so v vrsti trije podatki.
Ko se začne naše okno RabbitMQClient, sporočilo samodejno izgine iz vrste sporočil po običajnem prejetju. To je mehanizem potrditve čakalne vrste sporočil: ko so potrebne informacije pravilno prejete, potrošnik vrne stanje v vrsto sporočil, da uniči sporočilo. Če uporabnik sporočila ne prejme ali če obstaja izjema in ne vrne te statusne vrednosti, bo sporočilo ostalo v vrsti, dokler se sporočilo ne porabi normalno, kar zagotavlja natančnost sporočila.
Epilog
Na žalost je zelo malo mest, kjer uporabljam vrste sporočil v svojih projektih. Brez poglobljenega razumevanja bodo uporabljene le osnove.
V zgornjem demu je vrzel, povezava RbMQ v RabbitMQClient pa ima plast uporabe. Ker gre za asinhrono nit, bo to povzročilo, da program zažene in reciklira RbMQ povezavo, preden dokonča sprejem sporočila, in bo prijavljena napaka. Način, kako se s tem spoprijeti, je: odstranite uporabo in jo ročno sprostite.
|