|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Does MQ guarantee message ordering? |
« View previous topic :: View next topic » |
Author |
Message
|
royr |
Posted: Tue Aug 28, 2001 4:23 am Post subject: |
|
|
 Acolyte
Joined: 30 Jun 2001 Posts: 65 Location: Israel
|
Message ordering means that messages are received in the same order they were sent.
The simple answer: An application should not rely on MQ for message ordering.
The complicated answer: Message ordering is usually kept, but there are just too many factors that might disturb it. So in 99% of the cases, messages will arrive in the order they were sent, but a robust design should not rely on it.
To list some of the factors that might disturb message ordering:
- Different priority of messages
- Multiple senders with syncpoint
- Use of a dead letter queue in distributed queueing
- Use of the NPMSPEED(FAST) parameter in distributed queuing.
- Multihopping
- Message retry exit
- Clusters with workload balancing
The good news is that starting from version 5, MQ has LOGICAL_ORDER and message grouping features, which can guarantee message ordering if used correctly. See the MQSeries Application Programming Guide, chapter 10, section "The order in which messages are retrieved from a queue".
[ This Message was edited by: royr on 2001-08-28 05:26 ] |
|
Back to top |
|
 |
bduncan |
Posted: Tue Aug 28, 2001 9:37 am Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
In addition to the reasons you listed, we can also add network architecture as a possibility. If you are using MQSeries over TCP/IP (which most of us are), there is no guarantee that the packets representing the messages will get to the destination in the same order they were dispatched. The chances of this are very VERY slim indeed... The only way you might see this is if you have the MQSeries batch size set to something very small, and you are dealing with tiny messages, say, sub 1Kb.....
_________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
Back to top |
|
 |
royr |
Posted: Wed Aug 29, 2001 3:17 am Post subject: |
|
|
 Acolyte
Joined: 30 Jun 2001 Posts: 65 Location: Israel
|
bduncan,
I think discussions are off-topic in this folder. For the sake of FAQ integrity, we should restrict ourselves to proven truths here. My posting summarized a lengthy discussion that took place a few months ago at the listserv, and I tried to quote only verified information, which was discussed and agreed upon.
I posted a reply to your post at the General MQSeries Support forum. Should you later recognize your post here as a mistake, I suggest removing it.
[ This Message was edited by: royr on 2001-08-29 04:18 ] |
|
Back to top |
|
 |
dsingh |
Posted: Sun Apr 28, 2002 4:30 pm Post subject: |
|
|
Newbie
Joined: 27 Apr 2002 Posts: 2
|
|
Back to top |
|
 |
dsingh |
Posted: Sun Apr 28, 2002 4:38 pm Post subject: |
|
|
Newbie
Joined: 27 Apr 2002 Posts: 2
|
Documentation states that for MQSeries for OS/390, the queue attribute, IndexType, can be used to increase the speed of MQGET operations on the queue.
There is no such queue attribute for MQseries for the Unix platform. We are using MQSeries 5.2 and getting messages matching by CorrelationId using the MQMO_MATCH_CORREL_ID option - this impacts performance when the message queue has multiple messages.
Is there a mechanism for indexing for the Unix platform? |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|