priekšvārds
Dažās vietās ziņojumu rindas tiek izmantotas, lai nodrošinātu informācijas apstrādes precizitāti. Piemēram, augstas vienlaicīgības situācijās vietnes veic datu apstrādi. Šodien šajā rakstā ir ierakstīta vienkārša RabbitMQ demonstrācija. Pirms ievadīšanas šajā rakstā RbMQ vide ir jāinstalē iepriekš (jo es iepriekš instalēju vietējo RbMQ vidi, un es baidos, ka atinstalēšana radīs dažas problēmas, ka reģistrs nav tīrs, tāpēc es šeit neierakstīšu vides instalēšanu).
Vide un rīki
>Windows 10 sistēma
>RabbitMQ vides pakalpojumi
>VS 2017
Teksts
1: Izveidojiet divas jaunas konsoles lietojumprogrammas, proti, "RabbitMQClient" un "RabbitMQServer".
2: Skatiet "RabbitMQ.Client" dll
3: RabbitMQClient projektā Program.cs ielīmējiet šādu kodu
4: RabbitMQServer projektā Program.cs ielīmējiet šādu kodu
5: F5 Lai sāktu RabbitMQServer projektu, konsolē ievadiet informāciju, nospiediet taustiņu Enter.
6: Neaizveriet RabbitMQServer projekta konsoli, ar peles labo pogu noklikšķiniet uz RabbitMQClient projekta - > "Debug" - > "Sākt jaunu instanci"
Jūs varat ievadīt informāciju RabbitMQServer konsolē labajā pusē, lai to parādītu kreisajā pusē. RabbitMQServer projekts rada ziņojumus. RabbitMQClient projekts apstrādā (patērē) ziņojumus. Tas ir ražotājs un patērētājs ziņojumu rindā. Kods ietver arī maršrutēšanu un kanālus.
Ziņojuma ražotāja pusē nometiet apstrādājamo informāciju ziņojumu rindā. Pēc ziņojuma saņemšanas patērētājs var attiecīgi apstrādāt šos datus.
Ja vide ir instalēta, lokālā noklusējuma porta adrese ir http://localhost:15672/#/queues. Jūs varat tieši piekļūt viesa kontam vai konfigurēt kontu un atbilstošās atļaujas, pieskaroties komandrindai.
Informācija, ko tikko ievadījāt RabbitMQServer konsolē, vispirms pastāv ziņojumu rindā, vispirms varat aizvērt logu RabbitMQClient un pēc tam logā ievadīt dažas informācijas vienības, novērot ziņojumu rindu, un jūs varat redzēt, ka rindā ir trīs datu vienības.
Kad sākas mūsu RabbitMQClient logs, ziņojums automātiski pazudīs no ziņojumu rindas pēc tā saņemšanas parasti. Tas ir ziņojumu rindas apstiprināšanas mehānisms, tiklīdz nepieciešamā informācija ir precīzi saņemta, patērētājs atgriezīs ziņojumu rindā stāvokli, lai iznīcinātu ziņojumu. Ja patērētājs ziņojumu nesaņem vai ja ir izņēmums un neatgriež šo statusa vērtību, ziņojums paliek rindā, līdz ziņojums tiek patērēts normāli, kas nodrošina ziņojuma precizitāti.
Epilogs
Diemžēl ir ļoti maz vietu, kur es savos projektos izmantoju ziņojumu rindas. Bez padziļinātas izpratnes tiks izmantoti tikai pamati.
Iepriekš minētajā demonstrācijā ir caurums, un RbMQ savienojumam RabbitMQClient ir lietošanas slānis. Tā kā tas ir asinhrons pavediens, programma palaiž un atkārtoti pārstrādā RbMQ savienojumu, pirms tā pabeidz ziņojuma saņemšanu, un tiks ziņots par kļūdu. Veids, kā to risināt, ir: noņemt, izmantojot un atbrīvot to manuāli.
|