Oct 21 2008
Answering LiveCycle Data Services messaging questions
This month’s DrLiveCycle consult was about leveraging the message feature of LiveCycle Data Services.
Disease:
You are planning the architecture of your LCDS Messaging based application and you asked yourself the following questions:
- Is the order in which the messages are delivered to the clients always guaranteed, and does that depend on which channel you use?
- If you have many concurrent consumers/producers connected to your messaging destination, but the consumers/producers don’t generate a lot of messages, would that have more impact on the processor or the memory
Prescription:
DrLiveCycle checked back with the engineering specialists (Jeff Vroom and Mete Atamel helped the doctor with the right diagnose) and learned that the order of messages from server to client are currently only guaranteed when using the RTMP channel. A RTMP channel uses only a single TCP connection and therefore the message order is always guaranteed. The AMF/HTTP channels, on the other hand, may issue concurrent HTTP requests over multiple TCP connections and even though each TCP connection guarantees its message ordering, there’s no message order guaranteed across multiple TCP connections. So, currently the order is only guaranteed with RTMP channels.
So how about memory and CPU usage of low-active consumers? The answer is that an inactive consumer would just take up memory (there is the connection memory, session memory etc.). The only CPU load that an idle messaging client would take up is any load caused by polling, or the heart-beat style functionality that was put into the HTTP streaming channel.
Tips to stay healthy:
The polling overhead is fairly easy to compute based on your settings – how long does the request wait on both the client and the server. The streaming overhead is pretty low… periodically the server has to send some bytes back on the connection to keep it alive. The RTMP channels – when not using the RTMPT HTTP polling mode – don’t have any significant overhead.
[...] posted another Flex and LiveCycle related post on http://www.drflex.eu. This consult was all about the messaging features available in LiveCycle Data [...]