Thomas Mangin wrote:
Hello,
Like most web applications, roundcube is intended to be used on a
single machine.
This is not to discount the validity of your points, but I would like to point out that roundcube (svn trunk) is ready to be used on more than a single web server.
Using the database attachments plugin recently merged into head in combination with the already existing database backed sessions, we are able to run one instance of roundcube across many machines with DNS load balancing.
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.... [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/
List info: http://lists.roundcube.net/dev/