No because the mysql server is a cluster of 3 machines failing over to each other.Daniel Watts wrote:Our system looks like this: [internet] [load balancer] [load balancer] | \/ | \/ A [web] [web] [web] <---mysql cluster \ | / [imap server] The web servers are all sharing their sessions which are stored in a mysql cluster. This means that the user can connect to any web server and still maintain their session. However we've just found another problem - attachments. The user connects to webserver1 and clicks the Compose button. They then upload an attachment onto webserver1 and compose their message. When they press Send, the request actually (due to round robin dns) hits webserver2. Webserver2 tries to load in the attachment but can't find it. We don't really want to be storing 30MB attachments in a database as well and using a shared NFS attachment driectory introduces a single point of failure (the NFS server). Can anyone think of any other options we have?So, by examining your logic, isn't the MySQL server, where you are storing the sessions, a single point of failure as well? We've actually put haproxy on the front end load balancer servers.If you use "pound" load balancer, or similar, then you can definitely stay at the same server in a session; this will also allow for some more clever balancing. But you might regard the pound server "a single point of failure" and will need to put more of them too! Thank you for this - we've just found out that haproxy can set a cookie on the client side that tells the load balancer which server to connect to. HAproxy is clever enough to know that if it tries to connect to the same server and fails, it ignore the cookie and connect to another server.Why isn't your load-balancer clever enough to make users stay at the same server? So, first of all, you'll have to provide more information about it. The downside is that if that particular server goes down, the user will lose their attachment. However this will be a rare occurance of a server going down just after an attachment had been uploaded. And the worst case simply means that the user sends a 0kb attachment and is told he need to resend it. By 'single points of failure' I generally look at this on a per machine basis. If any particular machine dies, the service should keep on going. I ignore 'networking failures' as we can't yet afford dual nics and routers etc etc =) The only thing we cannot yet distribute is the actual imap storage - however with drdb (http://www.drbd.org/) this might soon be possible....may be. Thanks for the response! Daniel |
------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
-- squirrelmail-users mailing list Posting Guidelines: http://www.squirrelmail.org/wiki/MailingListPostingGuidelines List Address: squirrelmail-users@xxxxxxxxxxxxxxxxxxxxx List Archives: http://news.gmane.org/thread.php?group=gmane.mail.squirrelmail.user List Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=2995 List Info: https://lists.sourceforge.net/lists/listinfo/squirrelmail-users