Message Queuing (även kallat MSMQ) är en meddelandeinfrastruktur och ett utvecklingsverktyg för att skapa distribuerade meddelandeprogram för Microsoft Windows. Program utvecklade för Message Queuing skickar meddelanden till köer, som fungerar som tillfälliga lagringsplatser från vilka meddelandena sedan skickas vidare till slutdestinationen när förhållandena tillåter det. Sådana program kan kommunicera över heterogena nätverk och skicka meddelanden mellan datorer som tillfälligt saknar förbindelse med varandra. Message Queuing har följande fördelar:

  • Garanterad leverans av meddelanden

  • Effektiv routning

  • Förbättrad säkerhet

  • Stöd för att skicka meddelanden i transaktioner

  • Prioritetsbaserad meddelandehantering

Programvaror med dessa funktioner kallas i branschen för:

  • Message Queuing-program

  • Lagrings-och-vidarebefordringsprogram

  • Meddelandeorienterad mellanprogramvara

Med Message Queuing kan slutanvändare kommunicera via nätverk och datorer som är offline, oavsett aktuellt status för nätverken och datorerna. Systemadministratörer kan använda Message Queuing för att effektivt hantera stora, komplexa nätverk med datorer och meddelandeköer.

I det här avsnittet beskrivs funktionerna i Message Queuing.

Message Queuing-server

Den här funktionen är huvudkomponenten i Message Queuing och används för att utföra grundläggande funktioner för meddelandeköer. Mer information om serverfunktionen i Message Queuing finns i https://go.microsoft.com/fwlink/?LinkId=93512 (sidan kan vara på engelska).

Katalogtjänstintegrering

Med den här funktionen möjliggörs publicering av köegenskaper till Active Directory, out-of-the-box-autentisering och kryptering av meddelanden med hjälp av certifikat som är registrerade i AD DS och routning av meddelanden över Windows-platser. Mer information om funktionen Katalogtjänstintegrering finns i https://go.microsoft.com/fwlink/?LinkId=93513 (sidan kan vara på engelska).

Utlösare för Message Queuing

Med den här funktionen möjliggörs anrop av en COM-komponent eller en körbar fil, beroende på vilka filter du definierat för inkommande meddelanden i en viss kö. Mer information om utlösarfunktionen i Message Queuing finns i översikten över utlösare på https://go.microsoft.com/fwlink/?LinkId=93514 (sidan kan vara engelska).

HTTP-stöd

Funktionen aktiverar sändning och mottagning av meddelanden över HTTP. Mer information om funktionen för HTTP-stöd finns i avsnittet om Internetmeddelanden på https://go.microsoft.com/fwlink/?LinkId=93515 (sidan kan vara på engelska).

Stöd för multicasting

Med den här funktionen kan multicast-meddelanden köas och skickas till en multicast-IP-adress. Mer information om funktionen för multicast-stöd finns i avsnittet om IP-multicast på https://go.microsoft.com/fwlink/?LinkId=93516 (sidan kan vara på engelska).

Routningstjänst

Den här funktionen dirigerar meddelanden mellan olika platser och inom en plats. Mer information om routningstjänstfunktionen finns i avsnittet om routning i Message Queuing på https://go.microsoft.com/fwlink/?LinkId=93517 (sidan kan vara på engelska).

Messaging Queuing DCOM Proxy

Med hjälp av den här funktionen kan MSMQ DCOM API ansluta till en Message Queuing-fjärrserver.

Underköer

Den här funktionen gör det möjligt att logiskt gruppera meddelanden i en kö utan att skapa ytterligare en fysisk kö. Underköer är implicit skapade lokala köer som är logiska delar av en fysisk kö. Underköer kan användas för att gruppera meddelanden i program.

Flytta meddelanden

Du kan flytta meddelanden på tre olika sätt:

  • Med dialogrutan Flytta meddelande.

  • Klippa ut och klistra in meddelandet.

  • Dra och släppa meddelandet.

Du kan flytta meddelanden mellan underköer som hör till samma huvudkö eller från en huvudkö till dess underkö. Du kan inte flytta meddelanden från en huvudkö till en underkö som hör en annan huvudkö eller mellan två huvudköer eller mellan två underköer som hör till olika huvudköer.

Meddelandet flyttas som det är, från källkön till målkön. Meddelandets egenskaper förblir oförändrade, utom för aktuellt antal flyttningar.

Köer för obeställbara meddelanden per program

I Message Queuing 4.0 finns flera sådana köer så att varje program kan ha en egen kö för obeställbara meddelanden. Ett program kan begära en egen kö för obeställbara meddelanden genom att använda egenskapen PROPID_M_DEADLETTER_QUEUE i meddelandet. I stället för att skickas till systemtransaktionskön för obeställbara meddelanden skickas meddelandet till den kö som anges i egenskapen PROPID_M_DEADLETTER_QUEUE.

Värdet för egenskapen PROPID_M_DEADLETTER_QUEUE kan vara viken giltig transaktionskösökväg som helst. Transaktionskön måste vara lokal för den köhanterare där meddelandet med negativ bekräftelse (NACK) flyttas till kön. Hur en giltig sökväg definieras beskrivs på sidan https://go.microsoft.com/fwlink/?LinkId=69583 (sidan kan vara på engelska).

Transaktionsfjärrmottagning

Transaktionsfjärrmottagning är en transaktionsmottagning av ett meddelande från en fjärrkö. Det finns scenarier där transaktionsfjärrmottagning är nödvändigt. Om till exempel arbetsorder från en fjärrcentralkö måste behandlas över en grupp programservrar gör transaktionsfjärrmottagning att meddelandebehandlingen lastbalanseras över servergruppen.

Hantera ett stort antal Message Queuing-köer

Följande nya funktion introduceras i Message Queuing 5.0, som lanseras med Windows 7 och Windows Server 2008 R2:

Message Queuing 5.0 ger möjlighet att hantera ett markant större antal köer än Message Queuing 4.0. Även om Message Queuing 4.0 inte satte upp någon särskild gräns för antalet köer som gick att skapa, så påverkades prestanda negativt om flera tusen köer skapades. I synnerhet tog det väldigt mycket längre tid att starta Message Queuing 4.0-tjänsterna då ett mycket stort antal köer laddades in i minnet, på grund av kösökningsalgoritmen. Kösökningsalgoritmen som används vid start av Message Queuing 5.0 har optimerats för att ge en markant snabbare starttid för Message Queuing då ett stort antal köer hanteras av systemet.

Ytterligare referenser


Innehåll