This topic contains 2 replies, has 3 voices, and was last updated by  jmkahanic 10 months, 2 weeks ago.

Programmatically sending message to specific channel

  • I was looking for a way to have logic in my translator code sort and send messages to other channels in Iguana, currently the approach is to just “shotgun” a message to multiple channels and have them run some filter logic.

    I need a method to improve message throughput on a massive data load, ~3 million messages at a time. I’ve experimented with using the LLP module and just establishing multiple persistent port connections that I distribute the load to, with 10 ports I’m only able to reach outputs of ~15 messages a second (w/ acks). I know with a straight LLP to LLP channel I can average ~10, so I’m thinking utilizing the LLP module in the current fashion I am is a bottleneck and instead 10 separate QUE to LLP channels would push messages faster.

    Is there any suggestions on how to speed up the Ack process? I know if I disable Acks all together I’m in the ~500 message per second range.

    Exchange the messages w/o acks into a queue.
    Let another channel to generate acks out of the band of main messages stream.

    In other words, don’t condition the next message transmission on successful data payload processing for the previous message. That would be conditioning network traffic upon functional HL7 ACK. Rely on a fast network level ACK instead.

    Once a message has been accepted by Iguana and placed into a queue, it will be processed. This is how Iguana’s queue is built.

    One more: a teamed group of channels can speed up the process.

    lev, I’m not sure I follow – could you go into more detail on your reply on how this should be configured?

You must be logged in to reply to this topic.