Frage

Ich muss mit MSMQ (Microsoft Message Queuing) arbeiten. Was ist das, was ist es für, wie funktioniert es? Wie unterscheidet es sich von Web-Services?

War es hilfreich?

Lösung

Wie der Name schon sagt, es ist nur ein WS-Manager.

Sie können senden Objekte (serialisierten) in die Warteschlange, wo sie bleiben, bis Sie sie empfangen. Es wird normalerweise verwendet, um Nachrichten oder Objekte zwischen Anwendungen in einem entkoppelten Weise senden

Es hat nichts mit Webdiensten zu tun, sie sind zwei verschiedene Dinge

Info auf MSMQ :

https://msdn.microsoft.com /en-us/library/ms711472(v=vs.85).aspx

Info über WebServices :

http://msdn.microsoft.com/en-us/library/ ms972326.aspx

Andere Tipps

Bei allem Respekt auf @ Juan Antwort, sind beide Möglichkeiten, um Daten zwischen zwei getrennten Prozessen auszutauschen, das heißt Interkommunikationskanäle (IPC). Nachrichtenwarteschlangen sind asynchron, während webservices synchron sind. Sie verwenden verschiedene Protokolle und Back-End-Dienste, dies zu tun, so dass sie bei der Umsetzung völlig unterschiedlich sind, aber ähnlich in Zweck.

Sie würden wollen, Nachrichtenwarteschlangen verwenden, wenn die Möglichkeit besteht, dass der andere Kommunikation Prozess nicht zur Verfügung stehen, aber Sie wollen immer noch die Nachricht zum Zeitpunkt der Wahl des Kunden geschickt haben. Die Lieferung erfolgt, die beim Prozess auftreten auf das andere Ende wacht auf und erhält eine Benachrichtigung über die Nachricht der Ankunft.

Transactional Queue Management 101

Eine Transaktionswarteschlange ist ein Middleware-System, die asynchron leiten Nachrichten von einer Art eines anderen zwischen Hosts, kann oder kann nicht zu einem bestimmten Zeitpunkt angeschlossen sein. Dies bedeutet, dass es auch von persistierenden die Nachricht irgendwo fähig sein muss. Beispiele für solche Systeme sind MSMQ und IBM MQ

Eine Transaktionswarteschlange teilnehmen kann auch in einem Transaktion verteilt, und ein Rollback kann die Entsorgung triggern von Nachrichten. Das bedeutet, dass eine Nachricht mit abzugebende garantiert at-most-once Semantik oder garantierte Lieferung, wenn nicht zurückgerollt. Die Nachricht wird nicht, wenn geliefert werden:

  • Host A-Stellen die Nachricht aber Host B nicht verbunden

  • ist
  • Something (möglicherweise aber nicht notwendigerweise von Host A initiiert) Rollen die Transaktion

  • zurück
  • B verbindet, nachdem die Transaktion     Rollback

In diesem Fall B wird nie bewusst sein, die Botschaft gab es schon, es sei denn durch ein anderes Medium informiert. Wenn die Transaktion zurückgesetzt wurde, ist dies wahrscheinlich keine Rolle spielt. Wenn B verbindet und speichert die Nachricht, bevor die Transaktion zurückgerollt wird das Rollback auch die Auswirkungen der Nachricht auf B umgekehrt.

Beachten Sie, dass A die Nachricht an die Warteschlange mit der Garantie der at-most-once Lieferung veröffentlichen können. Wenn die Transaktion verpflichtet Host A ist, kann davon ausgehen, dass die Nachricht durch die zuverlässige Transportmittel geliefert. Wenn die Transaktion zurückgerollt, kann Host A übernehmen, dass die Auswirkungen der Nachricht rückgängig gemacht wurden.

Web Services

Ein Web-Service ist Remote Procedure Call oder anderer Dienst (zB rESTful API ) veröffentlicht durch einen (in der Regel) HTTP Server. Es ist ein synchroner Request / Response-Protokoll und hat keine Garantie für die Lieferung in das Protokoll errichtet. Es liegt an den Client zu überprüfen, ob der Dienst ausgeführt wurde korrekt. Typischerweise wird dies auf die Anfrage oder Timeout des Anrufs durch eine Antwort sein.

Im letzteren Fall, Web Service garantiert nicht at-most-once Semantik. Der Server kann den Dienst abzuschließen und nicht eine Antwort (möglicherweise durch etwas außerhalb des Server falsch gehen) zu liefern. Die Anwendung muss in der Lage sein, mit dieser Situation umgehen.

IIRC sollte RESTful Services idempotent (der gleiche Zustand nach einer beliebigen Anzahl von Anrufungen des gleichen Dienst erreicht wird), , die für den Umgang mit diesen Mangel an garantierten Meldung der Erfolg / Misserfolg ist eine Strategie in Web-Service-Architekturen. Die Idee ist, dass konzeptionell schreibt ein Zustand eher als einen Dienst aufgerufen wird, so kann man beliebig oft schreiben. Das bedeutet, dass ein Mangel an Feedback über den Erfolg kann durch die Anwendung toleriert werden, da sie kann über die Entsendung erneut versuchen, bis es eine ‚Erfolg‘ Nachricht vom Server bekommt.

Beachten Sie, dass Windows Communication Foundation (WCF) als eine Abstraktionsschicht über MSMQ verwenden können. Dies gibt Ihnen das Gefühl mit einem Dienst arbeiten -. Mit nur Einweg Operationen

Weitere Informationen finden Sie unter:   http://msdn.microsoft.com/en-us/library/ms789048.aspx

- larsw

Eigentlich gibt es keine Beziehung zwischen MSMQ und WebService. Mit MSMQ für die Interprozesskommunikation (Sie können auch Steckdosen verwenden können, Windows Messaging, Bildspeicher). es ist ein Windows-Dienst, die für Nachrichten zu halten, bis jemand sie aus der Warteschlange entfernt. Sie können sagen, dass es viel zuverlässiger als Sockel ist als Nachrichten auf einer Festplatte gespeichert sind, aber es ist langsamer als andere IPC-Techniken.

Sie können MSMQ in Dotnet mit kleinen Codezeilen, Just Erklären Sie Ihre MessageQueue Objekt und Receive und Send Methoden aufrufen. Die Nachricht selbst kann normale Zeichenfolge oder Binär-Daten sein.

Wie jeder hat erklärt MSMQ als Warteschlange für Nachrichten verwendet wird. Nachrichten können für die tatsächlichen Daten Wrapper werden, Objekt und alles, was Sie serialisiert und über den Draht senden. MSMQ hat seine eigenen Grenzen. MSMQ 1.0 und MSMQ 2.0 hatte eine 4MB Nachricht Grenze. Diese Einschränkung wurde mit MSMQ 3.0 abgehoben. Message Oriented Middleware (MOM) ist ein Konzept, das auf Messaging stark abhängt. Enterprise Service Bus Stiftung ist auf Messaging gebaut. All diese neuen Technologien, hängen von Messaging für asynchrone Datenübertragung mit Zuverlässigkeit.

MSMQ- Microsoft Message Queuing: • MSMQ ist eine Nachrichtenwarteschlange Implementierung von Microsoft entwickelt wurde. • Es entfaltet in seiner Windows Server-Betriebssystemen. • Es ist ein Messaging-Protokoll, das Anwendungen, die auf verschiedenen Servern / Prozesse ermöglicht in einer ausfallsicheren Weise zu kommunizieren. • MSMQ hat häufig in Unternehmen entwickelt für Software verwendet. • MSMQ sorgt für eine zuverlässige Lieferung von Nachrichten platzieren, die ihren Bestimmungsort nicht in einer Warteschlange erreichen und erneut gesendet wird sie dann, wenn das Ziel erreichbar ist. • MSMQ unterstützt auch Transaktionen. Es ermöglicht, dass mehrere Operationen auf mehreren Warteschlangen, mit all den in einer einzigen Transaktion Operationen gewickelt, wodurch sichergestellt wird, dass entweder alle oder keine der Operationen, wirksam werden. • Message Queuing (MSMQ) -Technologie ermöglicht es Anwendungen zu verschiedenen Zeiten laufen in heterogenen Netzwerken und Systemen zu kommunizieren, die vorübergehend offline sein kann. Die folgenden Ports sind für Microsoft Message Queuing-Operationen verwendet: • TCP: 1801 • RPC: 135, 2101 *, 2103 *, 2105 * • UDP: 3527, 1801

MSMQ steht für Microsoft Messaging Queue.

Es ist einfach welcher Speicher Nachricht in formatiertem Weise Warteschlange, so dass es an der DB (kann auf demselben Rechner oder auf dem Server) passieren kann. Es gibt verschiedene Art der Warteschlange dort, welche Kategorien die Botschaft untereinander. Wenn es irgendein Problem / Fehler innerhalb Nachricht oder ungültige Nachricht ist an automatisch weitergegeben geht Dead Warteschlange, die bezeichnen ist, dass es nicht weiter verarbeiten. Aber bevor sie tot Warteschlange vorbei Nachricht wird es max Zählung wiederholen und bis es nicht dann verarbeiten sie es zu den toten Warteschlange senden kann. Es wird für das Senden von Log-Nachricht vom Client-Rechner zum Server oder DB im Allgemeinen verwendet, so dass, wenn es irgendeine Frage Maschine geschieht auf dem Client ist dann Entwickler oder Support-Team durch Log-Problem zu lösen, gehen kann. MSMQ ist Service von Microsoft für Get Aufzeichnung der Log-Datei und einfache Lösung mit Log-Datei zu erhalten. Sie erhalten bessere Idee aus diesem Blog http: // msdn .microsoft.com / en-us / library / ms711472 (v = VS.85) aspx

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top