How to control messages to the same port from different emitters?
Posted
by
Alex In Paris
on Programmers
See other posts from Programmers
or by Alex In Paris
Published on 2012-07-02T07:53:06Z
Indexed on
2012/07/02
9:23 UTC
Read the original article
Hit count: 218
design-patterns
|BizTalk
Scene: A company has many factories X, each emits a message to the same receive port in a Biztalk server Y; if all messages are processed without much delay, each will trigger an outgoing message to another system Z.
Problem: Sometimes a factory loses its connection for a half-day or more and, when the connection is reestablished, thousands of messages get emitted. Now, the messages still get processed well by Y (Biztalk can easily handle the load) but system Z can't handle the flood and may lock up and severely delay the processing of all other messages from the other X.
What is the solution? Creating multiple receive locations that permits us to pause one X or another would lose us information if the factory isn't smart enough to know whether the message was received or not.
What is the basic pattern to apply in Biztalk for this problem? Would some throttling parameters help to limit the flow from any one X? Or are their techniques on the end part of Y which I should use instead ? I would prefer this last one since I can be confident that the message box will remember any failures, which could then be resumed.
© Programmers or respective owner