[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Re: DB performances for large number of messages

garu do-not-reply at jboss.com
Mon Jun 18 05:23:59 EDT 2007


Hi Tim,
thanks for the info, as usual when all the rest has failed read the instructions :)
About the application, is not that simple to explain.
It's not a single application but a group of applications that handle many different data flows from sensors distributed in a geographical network.
These flows arrive with different protocols, pure udp, udp with application protocol, tcp, ftp, etc..., with different priorities and with rates that are not constant through the day but show very high peaks.
JMS is seen as the means by which we can decouple the network from the data usage and the JMS persistence db must guarantee that once the message has been aknowledged to the originator, it will remain available to subscribers for the time defined for that flow.
Those persistence times will vary from few hours to two or three days, depending on the particular flow and on the minimum time span we need for the data to become a significant measurement set.
Then there is another class of messages, alarm messages, from which can depend the safeness of people, so you can imagine how carefully those message must be handled.

Here i've just scratched the surface, but the unifying guidelines are that we must guarantee we are not loosing any message and the system must be able to handle traffic peaks much higher than average flow rate without slowing down the flows.

As i said in my first append, the legacy system i wrote several years ago in C is still working for production, but now we need to feed other channels and that legacy system is no longer suited for that and we devised JMS as the decoupling system that could allow us to feed as many channels as we need.
Obviously my objective is to have the minimum number of messages parked for the minimum time as possible in the messaging persistence db, but nonetheless i'll have to move hundredths millions messages a day in and out of persistence db.
I can partition the flows in different messaging instances so that they use different db, but i cannot reach the 1:1 granularity and only the possibility to associate a destination to specific msg and msg_ref tables can give the flexibility to handle the forecasted volumes.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4055123#4055123

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4055123



More information about the jboss-dev-forums mailing list