Microsoft Message Queue. Is it deprecated?
I am really starting with Message Queue and I am looking for very basic information, how to's and so on.
But I have a strange sensation with what I am finding. It seems "Message Queue Server" is not the "standard" way of do in Visual Studio 2010, Windows 7, or the very last products from Microsoft, because a开发者_Python百科ll information I am finding is related to old microsoft products. Or that is my first impression.
In fact: http://www.microsoft.com/msmq/ doesn't run. It is empty ?
In summary: I don't know why... but I think Message Queue from Microsoft is not a "cutting edge" product to put my efforts on and perhaps there is another substitution product. Is it true or I am mistaken ?
What new product offers the same functionality nowadays ?
Thanks.
It is used in old products, but I've never had any reason to think it as deprecated.
One example of where the message queue is supported is WCF.
There isn't any other way to send one-way messages to a WCF server which you know will arrive even if the server is down at sending time.
MSMQ is alive and well. We use it in production when we need reliable delivery but NOT interactive/realtime responses. Its also integrated with WCF.
MSMQ isn't deprecated. As others have noted it offers abilities (reliable one way messaging with unreliable connections between unreliable end points) that other categories of communications forms do not (but MSMQ does overlap with other messaging middleware including things like IBM's WebSphere*MQ).
I'm not sure where you got that link from, but microsoft.com has lots of information inline:
- Developer: http://msdn.microsoft.com/en-us/library/ms711472%28VS.85%29.aspx
- .NET Developer: http://msdn.microsoft.com/en-us/library/8fawe8b3.aspx
- Administrator/deployment: http://technet.microsoft.com/en-us/library/cc732184.aspx
Message queuing is a core Windows technology. It has been around for a very long time, it was feature complete at the Windows 2000 release. There is no substitute in Windows, nothing comes close to its capabilities, other than message queuing solutions by other vendors.
That makes it a critical component but unsexy. About as exciting as the NTFS file system. You rarely program MSMQ directly these days, another reason you don't see much about it. The recommended approach is WCF, available since .NET 3.0
I can't say that MSMQ is deprecated, but I can share my experience with MS premier support regarding MSMQ & WCF. We have a non-HTTP activated WCF queue which happens to be activated via MSMQ using .NET 3.5. For high availability, we have clustered that MSMQ.
We have found that when the cluster fails over (gracefully, such as for scheduled maintenance), the WCF service gets into a state where the only way to recover from it is to recycle the app pool. We opened up a ticket with MS premier support, who stated that it was a defect in how WCF dealt with MSMQ, and that they wouldn't fix it in 3.5 SP1 or 4.0, but would consider fixing it in 4.5.
We haven't checked to see if they have gone back and fixed in 4.5, but that experience did leave an impression on me as to where MS was choosing to invest their resources.
精彩评论