Hello, Like most web applications, roundcube is intended to be used on a single machine.
In a high load environment, simple LVS source ip balancing may not be enough to simply dispatch evenly end users to several roundcube instances. I happen to have a situation where many customers (multiple 10s if not 100s) are logging in all at once and using the same proxy server, hence all hitting the same backend roundcube machine. It may be possible to get around this problem using a shared DB for the session and use an NFS partition for the upload folder, but it then creates single points of failure (and I happen to already have some nginx reverse proxy installed). In order to perform per user balancing of request, ticket 1485721 [1] contains a small patch [2] to roundcube to add a new cookie to the roundcube session. This cookie can be used by nginx (for example) to perform a layer 7 routing of the request, an example of such configuration is attached to the ticket [3] This patch is used in production and is as harmless as harmless can be. It does not change anything used by roundcube itself. I would be interrested in hearing any comment the list may have about it. Another benefit for me is that it allowed me to go from an active/ passive lvs setup to an active/active one (using wackamole [4]) Regards, Thomas Mangin [1] http://trac.roundcube.net/ticket/1485721 [2] http://trac.roundcube.net/attachment/ticket/1485721/roundcube-nginx-cluster.txt [3] http://trac.roundcube.net/attachment/ticket/1485721/nginx-config-example.txt [4] http://packages.ubuntu.com/hardy/net/wackamole _______________________________________________ List info: http://lists.roundcube.net/dev/
