Author |
Message
|
arboehler |
Posted: Fri May 31, 2002 11:40 am Post subject: Message affinity & maximizing message throughput |
|
|
 Newbie
Joined: 31 May 2002 Posts: 3 Location: Pasadena, CA
|
We are using MQ Series 5.2 for AIX with MQSI 2.02 in a healthcare environment where message affininty is critical.
We want to utilize multiple input threads to one input queue to take advantage of queue logging improvements in MQSeries 5.2. Our input queue is set with order mode of "By Queue Order". Will message affinity be maintained as messages are processed from the input queue?
Each input thread will contain messages for one ancillary system and will have messages sent in correct processing order. The message affininty is to the incoming message threads not among the separate threads. _________________ Anne |
|
Back to top |
|
 |
mrlinux |
Posted: Mon Jun 03, 2002 7:17 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
Iam not sure what your question is. Is all of your data for 1 transaction contained in 1 MQ Message if so you should be fine, if not then the next question how are you marking the messages to indicate they are part of
a group ???? _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
arboehler |
Posted: Mon Jun 03, 2002 9:17 am Post subject: Message Affinity |
|
|
 Newbie
Joined: 31 May 2002 Posts: 3 Location: Pasadena, CA
|
Each message sent is an individual HL7 message. For example, a Patient Add message might be sent followed by a Patient Update message. The messages need to maintain the order with which they were sent. Thus, the Patient Update message should never be processed before the Patient Add message. If I have multiple input streams to one input queue, I want to be certain that each input stream will maintain it's message affinity when processed in the input queue. _________________ Anne |
|
Back to top |
|
 |
mrlinux |
Posted: Mon Jun 03, 2002 9:53 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
Are you using TCP/IP if so there is a extremely extremely rare small chance for messages to get out of sequence when sent from one system to another. However when the queue is msgdlvseq is set to fifo then you will retrieve the messages in the order they were sent. _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
arboehler |
Posted: Mon Jun 03, 2002 10:38 am Post subject: Message Affinity |
|
|
 Newbie
Joined: 31 May 2002 Posts: 3 Location: Pasadena, CA
|
Jeff,
Some of our interfaces use TCP/IP and for those interfaces we have Protocol adapters to convert the message to MQ and send a TCP/IP ack. We are mostly using MQ queues to move messages and we are dong fifo I believe. Where do you set the fifo parameter? _________________ Anne |
|
Back to top |
|
 |
mrlinux |
Posted: Mon Jun 03, 2002 11:26 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
In the queue defintion.
from runmqsc
define ql(QUEUE_NAME) MSGDLVSQ(FIFO)
or if you have the queue defined
alt ql(QUEUE_NAME) MSGDLVSQ _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
simon.starkie |
Posted: Mon Jun 03, 2002 2:21 pm Post subject: I agree, but... |
|
|
Disciple
Joined: 24 Mar 2002 Posts: 180
|
I think the default for Message Delivery Sequence is PRIORITY, not FIFO... |
|
Back to top |
|
 |
simon.starkie |
Posted: Mon Jun 03, 2002 2:29 pm Post subject: But... |
|
|
Disciple
Joined: 24 Mar 2002 Posts: 180
|
The default MSGDLVSQ (Message Delivery Sqeuence) is PRIORITY. To use FIFO, we would have to change this attribute for all QLOCAL definitions.
But there is a slight risk in doing this. If we use this FIFO approach we may never be able to use PRIORITY. That could be a problem down the road when we may want a message (i.e. a canary or hearteat or some other message) to "jump the queue"and process ahead of the rest of the messages). |
|
Back to top |
|
 |
|