[rules-users] best design pattern for fusion stream

slyfox bobby.richards at gmail.com
Thu Oct 6 19:20:30 EDT 2011


I have a trading application that currently handles a fair amount of messages
per second, generally in the thousands.  Soon it will handle 10s and perhaps
hundreds of thousands of messages.

I have not done any load testing yet but while I am here I figured I should
ask if there are any known limitations that I may run in to?

Presently my trading app handles price quotes by consuming an amqp queue
bound to a topic:
try {
	q = quotes.poll(100, TimeUnit.MILLISECONDS);
        
        if (q != null)
	    handleIncomingQuote(q);

} catch ...


I would like to use fusion so that I can get the code infrastructure done
and then hopefully never have to deal with code again for writing my
strategies, ideally all of that will be in the form of rules.

So I am at a point where I need to learn the camel integration piece so that
fusion will consume the amqp feed.  

However, and this is my question, general practice is not to immediately do
any work on incoming message, currently I add to a LinkedBlockingQueue and
then pick up from another thread (shown above).  So should I even worry
about the AMQP/Camel integration?  It would seem to me that if fusion is
acting on each event this could become an eventual bottleneck.  I wonder if
I would be better off manually inserting my incoming quotes into the entry
point in the manner that I have above, essentially by replacing
handleIncomingQuote(q) with EntryPoint.insert(q)?

Or does the working memory handle the buffering for me?  Looking at the
Stream and Entry point doc I would say there is a chance but I am not
certain.

Thanks
Bobby



--
View this message in context: http://drools.46999.n3.nabble.com/best-design-pattern-for-fusion-stream-tp3401432p3401432.html
Sent from the Drools: User forum mailing list archive at Nabble.com.



More information about the rules-users mailing list