Z MSMQ (Microsoft Message Queue) lahko razvijalci aplikacij hitro in zanesljivo komunicirajo z aplikacijami z pošiljanjem in prejemanjem sporočil. Obdelava sporočil vam zagotavlja zanesljivo in varno metodo za zagotavljanje sporočanja in izvajanje številnih poslovnih procesov.
MSMQ, podobno kot XML Web Services in .Net Reloking, je tehnologija za porazdeljen razvoj. Vendar pa mora odjemalec pri uporabi XML spletnih storitev ali .Net oddaljenih komponent v realnem času izmenjevati informacije s strežnikom, strežnik pa mora ostati na spletu. MSMQ lahko deluje, ko je strežnik brez povezave, začasno shrani sporočilo v čakalno vrsto sporočil na strani odjemalca in ga nato pošlje strežniku v obdelavo, ko je na spletu.
Seveda MSMQ ni primeren za situacije, kjer mora odjemalec pravočasno odgovoriti s strani strežnika, MSMQ pa s strežnikom komunicira asinhrono, zato ni treba skrbeti, da bi strežnik dolgo procesiral.
Čeprav tako XML spletne storitve kot .Net Redaling ponujata lastnost [OneWay] za obdelavo asinhronih klicev, se uporablja za reševanje problema dolgih klicev metod na strežniški strani, ki dolgo časa blokirajo odjemalsko stran. Vendar pa ne more rešiti problema velike obremenitve odjemalcev, zato strežnik sprejema zahteve hitreje, kot jih lahko obdela.
Na splošno se atribut [OneWay] ne uporablja v specializiranih storitvah za sporočanje.
1. Osnovni izrazi in koncepti
"Sporočilo" je enota podatkov, ki se prenaša med dvema računalnikoma. Sporočila so lahko zelo preprosta, na primer vsebujejo le besedilne nize; Lahko je tudi bolj kompleksen in lahko vsebuje vgrajene objekte.
Sporočila se pošiljajo v čakalno vrsto. "Vrsta sporočil" je vsebnik, ki hrani sporočila med njihovim prenosom. Upravitelj čakalnih vrst sporočil deluje kot posrednik pri prenašanju sporočil od izvora do cilja. Glavni namen vrste je zagotavljanje usmerjanja in zagotavljanje dostave sporočil; Če prejemnik ob pošiljanju sporočila ni dosegljiv, ga čakalna vrsta sporočil zadrži, dokler ga ni mogoče uspešno dostaviti.
"Čakalna vrsta sporočil" je Microsoftova tehnologija za obdelavo sporočil, ki omogoča obdelavo sporočil in čakalno vrsto sporočil za katerokoli aplikacijo v kateri koli kombinaciji računalnikov z nameščenim Microsoft Windows, ne glede na to, ali so hkrati v istem omrežju ali na spletu.
"Omrežje čakalnih vrst sporočil" je katerakoli skupina računalnikov, ki si lahko med seboj pošiljajo sporočila. Različni računalniki v omrežju imajo različne vloge pri zagotavljanju nemotenega procesiranja sporočil. Nekateri med njimi zagotavljajo usmerjaške informacije za določanje načina pošiljanja sporočil, nekateri vsebujejo pomembne podatke o celotnem omrežju, nekateri pa zgolj pošiljajo in prejemajo sporočila.
Med namestitvijo Message Queue skrbniki določijo, kateri strežniki lahko med seboj komunicirajo, in določijo posebne vloge za posamezne strežnike. Računalniki, ki sestavljajo to mrežo »čakalnih vrst sporočil«, se imenujejo »strani« in so med seboj povezani z »povezavami do strani«. Vsaka sitelink ima pripadajočo "režijo", ki jo določi skrbnik in kaže, kako pogosto so sporočila dostavljena prek te sitelinke.
Skrbnik čakalne vrste sporočil prav tako vzpostavi enega ali več računalnikov v omrežju, ki delujejo kot strežniki za usmerjanje. Usmerjevalni strežnik pregleduje režijo vsake sitelink, da določi najhitrejši in najučinkovitejši način dostave sporočila preko več spletnih strani ter določi, kako sporočilo dostaviti.
2. Vrsta vrste čakalne vrste
Obstajata dve glavni vrsti vrst: vrste, ki jih ustvarite vi ali drugi uporabniki v vašem omrežju, in sistemske vrste.
Uporabniško ustvarjena čakalna vrsta je lahko katera koli od naslednjih:
Javne vrste se replicirajo po celotnem omrežju Message Queue in imajo potencial, da jih dostopajo vse lokacije, povezane z omrežjem.
Zasebne vrste niso objavljene po celotnem omrežju. Namesto tega so na voljo le na lokalnem računalniku, kjer se nahajajo. Zasebne vrste lahko dostopajo le aplikacije, ki poznajo polno ime poti ali oznako vrste.
Vodstvena vrsta vsebuje sporočila, ki potrjujejo prejete sporočila, poslana v določenem omrežju vrste sporočil. Določite, katero vodstveno vrsto želite, da komponenta MessageQueue uporablja, če jo uporablja.
Odzivna vrsta vsebuje odzivna sporočila, ki se vrnejo pošiljateljski aplikaciji, ko ciljna aplikacija prejme sporočilo. Določite odzivno vrsto, ki jo želite, da uporablja komponenta MessageQueue, če obstaja.
Vrste, ki jih generira sistem, so običajno razdeljene v naslednje kategorije:
Journal Queue po želji shranjuje kopije poslanih sporočil in kopije sporočil, ki so bila odstranjena iz vrste. Ena vrsta dnevnika na vsakem odjemalcu Message Queue shranjuje kopijo sporočil, poslanih s tega računalnika. Za vsako vrsto na strežniku se ustvari ločena vrsta dnevnika. Ta dnevnik spremlja sporočila, ki so odstranjena iz te vrste.
Vrsta mrtvih pisem hrani kopije sporočil, ki jih ni mogoče dostaviti ali so jim potekle. Če je sporočilo, ki poteče ali ga ni mogoče dostaviti, transakcijsko, se shrani v posebno vrsto mrtvih pisem, imenovano "transakcijska vrsta mrtvih pisem". Mrtve črke so shranjene na računalniku, kjer je poteklo sporočilo. Za več informacij o sporočilih o časovnem izteku in poteku glejte lastnosti privzetega sporočila.
Čakalna vrsta poročil vsebuje sporočila, ki označujejo pot, po kateri sporočilo pride do cilja, lahko pa vsebuje tudi testna sporočila. Na vsakem računalniku je lahko le ena poročevalska vrsta.
Namenska sistemska vrsta je niz namenskih vrst, ki shranjujejo sporočila za upravljanje in obveščanje, ki jih sistem potrebuje za izvajanje operacij obdelave sporočil.
Večina dela, opravljenega v aplikaciji, vključuje dostop do javnih vrst in njihovih sporočil. Vendar pa je glede na dnevnik, potrditve in druge posebne zahteve po obdelavi verjetno več različnih sistemskih vrst uporabljenih v vsakodnevnem delovanju.
3. Sinhrona proti asinhronoj komunikaciji
Komunikacija v vrsti je po naravi asinhrona, saj pošiljanje sporočil in prejemanje sporočil iz vrste poteka v različnih procesih. Prav tako se lahko operacija sprejema izvaja asinhrono, saj lahko oseba, ki želi prejeti sporočilo, pokliče metodo BeginReceive v katerokoli vrsto in takoj nadaljuje z drugimi nalogami brez čakanja na odgovor. To je zelo drugače od tistega, kar ljudje poznajo kot »sinhrono komunikacijo«.
Pri sinhroni komunikaciji mora pošiljatelj zahteve počakati na odgovor prejemnika, preden opravi druge naloge. Čas, ki ga pošiljatelj čaka, je v celoti odvisen od časa, ki ga prejemnik potrebuje za obdelavo zahteve in pošiljanje odgovora.
4. Interakcija z vrstami sporočil
Obdelava sporočil in sporočanje zagotavljata močan in prilagodljiv mehanizem za medprocesno komunikacijo med strežniškimi aplikacijskimi komponentami. Ponujajo več prednosti v primerjavi z neposrednim klicem med komponentami, med drugim:
Stabilnost – Napake komponent vplivajo na sporočila veliko manj kot neposredne klice med komponentami, saj so sporočila shranjena v vrsti in tam ostajajo, dokler niso pravilno obdelana. Obdelava sporočil je podobna obdelavi transakcij, saj je obdelava sporočil zagotovljena. Prioriteta sporočil – Bolj nujna ali pomembna sporočila lahko prejmete pred relativno nepomembnimi sporočili, zato lahko zagotovite ustrezen odzivni čas za kritične aplikacije. Funkcionalnost brez povezave – Ko so sporočila poslana, jih je mogoče poslati v začasno vrsto in tam ostanejo, dokler niso uspešno dostavljena. Ko dostop do želene vrste ni na voljo iz kakršnegakoli razloga, lahko uporabnik nadaljuje z dejanjem. Hkrati lahko druge operacije potekajo, kot da je sporočilo že obdelano, saj je dostava sporočila zagotovljena, ko se omrežna povezava obnovi. Transakcijsko obdelavo sporočil – Združite več povezanih sporočil v eno transakcijo, da zagotovite, da so sporočila dostavljena zaporedno, le enkrat, in jih je mogoče uspešno pridobiti iz ciljne vrste. Če pride do napak, se celotna transakcija prekliče. Varnost – Tehnologija čakalnega čakanja sporočil, na kateri temelji komponenta MessageQueue, uporablja Windows Security za varovanje nadzora dostopa, zagotavljanje revizije ter šifriranje in avtentikacijo sporočil, ki jih komponenta pošilja in prejema.
5. Napisati preprost program za čakalno vrsto sporočil v .Net okolju
(1) Najprej namestite storitve za čakanje sporočil
Namestite MSMQ preko nadzorne plošče, korak "Dodaj/Odstrani programe" – "Dodaj/Odstrani Windows komponente".
MSMQ je mogoče namestiti v načinu delovne skupine ali domene. Če namestitveni program ne najde strežnika, ki poganja čakalno vrsto sporočil, ki zagotavlja storitve imenikov, jo je mogoče namestiti le v načinu delovne skupine, pri čemer čakalna vrsta sporočil na tem računalniku podpira le ustvarjanje zasebnih vrst in ustvarjanje neposrednih povezav z drugimi računalniki, ki uporabljajo vrste sporočil.
(2) Konfiguracija MSMQ
Odprto računalniško upravljanje – Čakalna vrsta sporočil in ustvarjanje MSMQDemo vrste pod zasebnimi vrstami
(3) Pisanje kode – preprosto demonstracija MSMQ objekta
Razred MessageQueue je ovojnica okoli "message queue". Razred MessageQueue nudi referenco na vrsto Message Queue. V konstruktorju MessageQueue lahko določite pot do obstoječega vira ali pa ustvarite novo čakalno vrsto na strežniku. Preden lahko pokličete Send, Peek ali Receive, morate novo instanco razreda MessageQueue povezati z obstoječo vrsto.
MessageQueue podpira dve vrsti pridobivanja sporočil: sinhrono in asinhrono. Sinhronizirani metodi Peek in Receive povzročita, da procesna nit počaka na novo sporočilo, ki prispe v vrsto v določenem intervalu. Asinhroni metodi BeginPeek in BeginReceive omogočata, da glavna aplikacijska naloga nadaljuje izvajanje v ločeni niti, preden sporočilo prispe v čakalno vrsto. Te metode delujejo tako, da uporabljajo objekte callback in objekte stanja za lažjo komunikacijo informacij med nitmi.
Prenos izvorne kode:
Turisti, če želite videti skrito vsebino te objave, prosim Odgovoriti
|