In a system I'm working with, we are considering using JMS for grid
processing, mainly for asynchronous jobs. I'm wondering how far we can push
the envelope and let JMS be the main bus behind everything, even the more
synchronous jobs where time to respond is critical. So, before I go much
further I would like a sanity check.

The overall app is very basic. Clients talk to Managers, which submit jobs
to request queues, handing a requestID back to the clients. 

Workers consume these requests, do relevant DB queries and create binary
results. The result blobs are dumped to a database to be persisted for a
certain period of time. A short message dumped on a result queue notifies
the manager process of availability. Clients poll managers periodically
until the process is complete.

Now... for the synchronous implementation, we'd want to skip the database
entirely. Managers would hold the client port open while submitting items to
the request queue. In their response messages, workers would include the
binary results, skipping the database entirely. 

So - can we use JMS Streams to ensure clients begin to receive data as soon
as it becomes available? eg,

- Worker queries database, receives results and transforms them to XML
- Worker creates a JMS message containing the raw content, streaming 100MB
message to the response queue
- Message appears on response queue even before the worker has finished
streaming the message
- In turn, Manager begins to consume response and pass the stream along to
the client, well before the worker has finished streaming to the broker or
the broker to the manager

Just in case I'm not being clear, I don't want any step to have to "finish"
before the client can start receiving the results. As the manager will be
"co-located" with the response queue via an embedded broker, there are no
more network hops than I would anticipate in a direct of
Client->Manager->Worker->Database.

Thanks for any responses. Feel free to be critical.
-- 
View this message in context: 
http://www.nabble.com/ActiveMQ-Stream-Performance--tp25196653p25196653.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to