Hi
I have a master/worker architecture. Workers get data and then pass the data to servers
using Callbacks
The worker registers a callback and the master invoques them based on a scheduling
algorithm we have.
We have found that a big number of incomming connections decreases the performance at the
master side. What we do is we have a threadpool that is processing the data sent by
workers. Also we keep a queue of data sent equals to the number of threads in the pool (we
run a number of threads which is Ncpu * 1.5 )
For the communications berween master and server we use also JBossRemoting
(TransporterServer).
We are trying to control the number of incomming connections. I can control more or less
based with the number or callbacks called and then as soon I receive the data I decrease
the counter of pending connections.
The problem with this approach is that is asynchronous so if master sends the callback to
the worker and this crashes before sending the data. Then the server thinks he is pending
so we have a +1 pending connection which will never happen. This cannot be used because
if I set a limit of incomming connections and all of them are crashed workers, then no one
would be able to send data anymore.
Is it there any way to know how many incomming calls we have? asking the transporter
server?
Thanks in advance
Alfonso
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4236623#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...