You could try to use jms for this and use for example one queue per service user or service user type.

For example in activemq you can limit the number of messages in a queue or the rate of messages per second. Often you even can
handle a high load on jms that you would not be able to handle using http.

If you have to use http to the outside then you could even provide a an adapter from http to jms that could report if the queue is full. That of course only works if the limiting factor is not the simple raw requests but rather the processing inside the service.

Christian


Am 23.02.2012 10:55, schrieb Hervé BARRAULT:
Hi,
My application publishes web services using CXF.
Sometimes, some clients are flooding my application (i'm not able to
process the requests as fast as they coming : like a DoS)

Should I handle it directly in my application or is there a configuration
in CXF to being able to handle this problem ?

Such as Limiting the number of connection by host (and eventually by
service [some services could be more "critical" than other]).
Limiting the number of request by second (but this limit could depend on
the global load).
I have seen : http://wiki.eclipse.org/Jetty/Reference/DoSFilter (which is
dedicated to Jetty).

SI there other smart strategies ?

Here the question is not about DoS Attack but how to handle a Unintentional
denial of service.

Thanks for answers.
Regards
Hervé



--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
Talend Application Integration Division http://www.talend.com

Reply via email to