Msmq End Of Lifre

Posted on  by  admin

Because the dependent client does not maintain internal queues, MSMQ cannot. R2 Server which is connected to an x64 SQL Server 2008 Back-End Server. MSMQ management console (MMC) does not cover many real life situations.

  1. End Of Life Care
  2. Msmq Windows 10
  3. Msmq Vs Rabbitmq

I need to work with MSMQ (Microsoft Message Queuing). What is it, what is it for, how does it work? How is it different from web services?

Palec
7,9745 gold badges43 silver badges92 bronze badges
balaweblogbalaweblog
6,04627 gold badges68 silver badges91 bronze badges

9 Answers

As its name states, it's just a queue manager.

End

You can Send objects (serialized) to the queue where they will stay until you Receive them.It's normally used to send messages or objects between applications in a decoupled way

It has nothing to do with webservices, they are two different things

Info on MSMQ:

Info on WebServices:

Antoops
1,2354 gold badges21 silver badges37 bronze badges
juanjuan
40k46 gold badges145 silver badges178 bronze badges

With all due respect to @Juan's answer, both are ways of exchanging data between two disconnected processes, i.e. interprocess communication channels (IPC). Message queues are asynchronous, while webservices are synchronous. They use different protocols and back-end services to do this so they are completely different in implementation, but similar in purpose.

You would want to use message queues when there is a possibility that the other communicating process may not be available, yet you still want to have the message sent at the time of the client's choosing. Delivery will occur the when process on the other end wakes up and receives notification of the message's arrival.

tvanfossontvanfosson
438k84 gold badges655 silver badges760 bronze badges

Transactional Queue Management 101

A transactional queue is a middleware system that asynchronously routes messages of one sort of another between hosts that may or may not be connected at any given time. This means that it must also be capable of persisting the message somewhere. Examples of such systems are MSMQ and IBM MQ

A Transactional Queue can also participate in a distributed transaction, and a rollback can trigger the disposal of messages. This means that a message is guaranteed to be delivered with at-most-once semantics or guaranteed delivery if not rolled back. The message won't be delivered if:

  • Host A posts the message but Host Bis not connected

  • Something (possibly but notnecessarily initiated from Host A)rolls back the transaction

  • B connects after the transaction is rolled back

In this case B will never be aware the message even existed unless informed through some other medium. If the transaction was rolled back, this probably doesn't matter. If B connects and collects the message before the transaction is rolled back, the rollback will also reverse the effects of the message on B.

Note that A can post the message to the queue with the guarantee of at-most-once delivery. If the transaction is committed Host A can assume that the message has been delivered by the reliable transport medium. If the transaction is rolled back, Host A can assume that any effects of the message have been reversed.

Web Services

A web service is remote procedure call or other service (e.g. RESTFul API's) published by a (typically) HTTP Server. It is a synchronous request/response protocol and has no guarantee of delivery built into the protocol. It is up to the client to validate that the service has been correctly run. Typically this will be through a reply to the request or timeout of the call.

End Of Life Care

In the latter case, web services do not guarantee at-most-once semantics. The server can complete the service and fail to deliver a response (possibly through something outside the server going wrong). The application must be able to deal with this situation.

IIRC, RESTFul services should be idempotent (the same state is achieved after any number of invocations of the same service), which is a strategy for dealing with this lack of guaranteed notification of success/failure in web service architectures. The idea is that conceptually one writes state rather than invoking a service, so one can write any number of times. This means that a lack of feedback about success can be tolerated by the application as it can re-try the posting until it gets a 'success' message from the server.

ConcernedOfTunbridgeWellsConcernedOfTunbridgeWells
53.3k13 gold badges126 silver badges189 bronze badges

Note that you can use Windows Communication Foundation (WCF) as an abstraction layer above MSMQ. This gives you the feel of working with a service - with only one-way operations.

For more information, see: http://msdn.microsoft.com/en-us/library/ms789048.aspx

--larsw

larswlarsw
2,8052 gold badges17 silver badges35 bronze badges

Actually there is no relation between MSMQ and WebService.Using MSMQ for interprocess communication (you can use also sockets, windows messaging, mapped memory).it is a windows service that responsible for keeping messages till someone dequeue them.you can say it is more reliable than sockets as messages are stored on a harddisk but it is slower than other IPC techniques.

You can use MSMQ in dotnet with small lines of code, Just Declare your MessageQueue object and call Receive and Send methods.The Message itself can be normal string or binary data.

Ahmed SaidAhmed Said
4,1868 gold badges48 silver badges89 bronze badges

As everyone has explained MSMQ is used as a queue for messages. Messages can be wrapper for actual data, object and anything that you can serialize and send across the wire. MSMQ has it's own limitations. MSMQ 1.0 and MSMQ 2.0 had a 4MB message limit. This restriction was lifted off with MSMQ 3.0. Message oriented Middleware (MOM) is a concept that heavily depends on Messaging. Enterprise Service Bus foundation is built on Messaging. All these new technologies, depend on Messaging for asynchronous data delivery with reliability.

user49550user49550

The top few links from a Google search for 'MSMQ' should help...

Msmq Windows 10

More info here: http://www.google.com/search?q=MSMQ

Greg BeechGreg Beech
104k37 gold badges188 silver badges236 bronze badges

MSMQ- Microsoft Message Queuing:• MSMQ is a message queue implementation developed by Microsoft.• It deployed in its Windows Server operating systems.• It is a messaging protocol that allows applications running on separate servers/processes to communicate in a failsafe manner.• MSMQ has commonly been used in enterprise for software built.• MSMQ ensures reliable delivery by placing messages that fail to reach their intended destination in a queue and then resending them once the destination is reachable.• MSMQ also supports transactions. It permits multiple operations on multiple queues, with all of the operations wrapped in a single transaction, thus ensuring that either all or none of the operations will take effect.• Message Queuing (MSMQ) technology enables applications running at different times to communicate across heterogeneous networks and systems that may be temporarily offline.The following ports are used for Microsoft Message Queuing operations:• TCP: 1801• RPC: 135, 2101*, 2103*, 2105*• UDP: 3527, 1801

Msmq Vs Rabbitmq

Sandeep KumarSandeep Kumar

It is simply queue which store message in formated way so that it can pass to DB (may on same machine or on Server). There are different Type of queue over there which categories the message among themselves. If there is some problem/error inside message or invalid message is passed at automatically goes to Dead queue which is denote that it is not process further. But before passing message to dead queue it will retry max count and till it is not process then it can send it to Dead queue. It is generally used for sending log message from client machine to server or DB so that if there is any issue happens on client machine then developer or support team can go through log to solve problem. MSMQ is service provided by Microsoft for Get record of Log file and easy to get Solution using Log file.You get Better Idea from this blog http://msdn.microsoft.com/en-us/library/ms711472(v=vs.85).aspx

SignsGreg Sansom
15.9k5 gold badges48 silver badges66 bronze badges
rhatwar007rhatwar007

Not the answer you're looking for? Browse other questions tagged msmq or ask your own question.

Coments are closed
Scroll to top