This forum has been archived. Please start a new discussion on GitHub.

IceGrid load balancing and (sticky) sessions

Hello everyone...

I've been wondering if and how I could implement the following scenario with ICE (specifically IceGrid and services running in IceBox):

Let's assume I have a service that can create various renditions of a fairly complex model. Users of the systems can create any number of such models. However, I would expect that only a certain number of models are in use at the same time. Furthermore, starting up the service so that it is ready to provide the rendition is somewhat expensive. Thus, I it is not feasible to start a new instance of the service for every rendition that will be requested.

So, it seems like I would want to start up a rendering service once a user starts to work with a model and whenever the user requests a new rendition from that model, the request should go to the instance of the service that has already prepared (loaded) the model.

Furthermore, when a new model needs to be brought up, I want to bring it up on the IceGrid node that least loaded (where load might be a function of how many other rendering services it has running and how many requests it had to answer in the last few minutes)

I hope I'm not being too long winded here... and I'd appreciate your thoughts on this scenario - let me know if I need to explain something more clearly.