MSMQ, WCF, and Flaky Servers

I have two applications, let us call them A and B. Currently A uses WCF to send messages to B. A doesn't need a response and B never sends messages back to A.

Unfortunately, there is a flaky network connection between the servers A and B are running on. This results in A getting timeout errors from time to time.

I would like to use WCF+MSMQ as a buffer between the two applications. That way if B goes down temporarily, or is otherwise inaccessible, the messages are not lost.

From an architectural standpoint, how should I configure this?


I think you might have inflated your question a bit with the inclusion of the word "architectural".

If you truly need an architectural overview of this issue from that high of a level, including SLA concerns, your SL will be as good as your MSMQ deployment, so if you are concerned about SL, just look at the documentation on the internet about MSMQ and SLA.

If you are looking more for the actual implementation from a code standpoint, this article is excellent: http://code.msdn.microsoft.com/msmqpluswcf

It goes over a lot of the things you'll need to know, including how to setup MSMQ and how to implement chunking to get around MSMQ's 4MB limit (if this is necessary... I hope it's not).

Here's a good article about creating a durable and transactional queue that will cross machines using an MSMQ cluster: http://www.devx.com/enterprise/Article/39015/1954

链接地址: http://www.djcxy.com/p/55802.html

上一篇: 什么是WCF客户端`使用`块问题的最佳解决方法?

下一篇: MSMQ,WCF和Flaky服务器