Archived
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.
Cheers,
Lars
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.
Cheers,
Lars
0