|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
HTTP webservice retry without losing the message order |
« View previous topic :: View next topic » |
Author |
Message
|
zpat |
Posted: Mon Oct 09, 2017 4:21 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Best to check the requirements before using very complex designs.
If there are different endpoints - better to use different queues, or split the messages up in a message flow.
Keeping things simple is always best. If they need to join up answers then that sounds like an aggregation to me.
I have a rule of thumb - if the design is hard to explain - it's a bad design - don't try and code it. _________________ Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error. |
|
Back to top |
|
 |
gbaddeley |
Posted: Mon Oct 09, 2017 4:30 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
Regardless of possible designs and solutions in IIB / MQ, any requirement for transaction affinity CANNOT rely on simple IIB flow processing and MQ message delivery to provide ordering.
This logic needs to be implemented in the back-end apps and be very robust and tolerant of failures and delays.
We had a recent case where it was discovered that an IIB interface into a back-end web service had an ordering dependency that was not called out in the design. We made a very strong case that IIB / MQ cannot provide ordering, and the app had to accept that, and modify their design. _________________ Glenn |
|
Back to top |
|
 |
souciance |
Posted: Wed Oct 25, 2017 11:54 am Post subject: Re: HTTP webservice retry without losing the message order |
|
|
Disciple
Joined: 29 Jun 2010 Posts: 169
|
Bichu wrote: |
Hi Guys,
Need a help. I have a requirement where i received messages from a source, do some processing and need to POST data to destination.
I need to maintain the order of messages as well. My flow will be like
Code: |
MQ input - Compute - HTTP request
Failure will go to error q where retry message flow needs to be designed
success will got to audit log |
The problem is when the destination web service is not accessible, i can have a retry mechanism for retry sending the message to the destination.
But once the webservice comes available, both normal as well as backed out queues will be processed and I will lose the order.
How can I maintain the order here. Any ideas please. |
Late to the party but I would go back tell your project manager that this kind of order persistence is not what the IIB product is meant for. IIB is not a state machine or a process engine. It is driven by events. Keeping order like that will just lead to bad code and design. It would be better if you change your solution design instead. |
|
Back to top |
|
 |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|