|
Resilience
I am evaluating ICE for use in a particular distributed application, and in particular how it would cope with a denial of servce type situation where many simultaneous client requests are made.
What happens if there is a flood of client requests to an ICE server? I assume that at some point connections would fail. At what limit would that happen? What error would the client see?
In an ideal world the ICE client would implement a thread-pool to use for client calls, thus limiting the number of concurrent requests. Analogous to the server threads ICE provides for asynchronous method dispatch. Does ICE do that, or would I have to implement it myself in my application?
My alternative is to use some kind of messaging middleware (eg spread) which would simply queue all the requests. However this throws all the work on marshalling back on to my application.
Comments welcome!
|