Benoit Masson wrote:
[...]
- What about load balancing ?

When I was designing a scalable Python web app system recently, it involved a software load balancer and CherryPy RAM sessions.

You can use Pound as software load balancer (http://www.apsis.ch/pound/). It allows you to use session detection by Cookie value, too, among options.

Will we be able to use cluster fot the cherrypy part ?

With Pound and CherryPy RAM sessions, it should work fine.

Separating the database is a basic move, but what about turbogears sharing sessions between server ?

With the above approach, you explicitly don't share sessions. Sessions are kept local to CherryPy instances, and the load balancer makes sure that requests for the same session are always going to the same CherryPy instance.

or should we look LVS cluster instead so the framework doesn't even
know it is on a cluster ?

I'd try the simpler approach first.

Note that you don't get session failover this way. I decided to forget about session failover and make the rest of the system easy to implement and robust. You *do* get normal failover this way. I. e. if one CherryPy instance dies, Pound will notice and distribute the load on the remaining instances.

-- Gerhard

Reply via email to