Fail-over solutions
-
windows with an mysql database, lots of php and apache
OMG I'm sorry.
-
The customer standardizes on windows but the software is cross-platform.
-
@pete-s Is it virtualized at all?
-
Nope. But maybe it should be in some form.
All the VMs the customer are running are located in datacenters off-site but this one has to be on-site. That's why it's not virtualized at the moment.
-
@pete-s said in Fail-over solutions:
The customer standardizes on windows but the software is cross-platform.
Yeah it's cross platform but hard to do on Windows.
-
-
MySQL has the a clustering/fault tolerance functionality. Use that as your backend and then do a load balancing with something on the front end.
Out of curiosity what web server are they running?
-
The only thing I can think of for failover on MySQL is Galera. I've never done it so I can't answer to how hard or easy it is to set up. Apache can easily be done with a VIP but I have no idea how to do that on Windows. Linux has keepalived for VIPs, I know MS has some implementation but I've never set it up.
-
@pete-s said in Fail-over solutions:
Nope. But maybe it should be in some form.
All the VMs the customer are running are located in datacenters off-site but this one has to be on-site. That's why it's not virtualized at the moment.
Yeah I would virtualize as soon as you can. Gives you much much more flexibility.
-
@coliver said in Fail-over solutions:
Out of curiosity what web server are they running?
Apache I believe
-
@jmoore said in Fail-over solutions:
@coliver said in Fail-over solutions:
Out of curiosity what web server are they running?
Apache I believe
You could setup HAProxy in front of two apache servers with the same information on each. Set it up to pull updates from something like GitLab (or a selfhosted GIT server) and have any changes published through that. Have them talk back to a MySQL cluster. If you want to go fully fault tolerant, setup a HAProxy cluster with Keepalived running. Of course none of this really matters if there is a single physical host.
-
@pete-s said in Fail-over solutions:
The customer standardizes on windows but the software is cross-platform.
But super slow and cumbersome on Windows Both MySQL and PHP famously are dogs on Windows.
-
@pete-s said in Fail-over solutions:
Nope. But maybe it should be in some form.
Definitely. But that's not a factor in the current discussion.
-
For MySQL HA, the "go to" solution is generally Galera.
It's similar licensing to MySQL so a good match there, and is specifically the primary MySQL application layer HA product out there. I've used this in some pretty demanding environments (over 35K concurrent users.)
-
@scottalanmiller said in Fail-over solutions:
For MySQL HA, the "go to" solution is generally Galera.
It's similar licensing to MySQL so a good match there, and is specifically the primary MySQL application layer HA product out there. I've used this in some pretty demanding environments (over 35K concurrent users.)
Is this active:active load balancing or active:passive/standby?
-
@scottalanmiller said in Fail-over solutions:
For MySQL HA, the "go to" solution is generally Galera.
It's similar licensing to MySQL so a good match there, and is specifically the primary MySQL application layer HA product out there. I've used this in some pretty demanding environments (over 35K concurrent users.)
You donโt recommend Percona right?
-
@dbeato said in Fail-over solutions:
@scottalanmiller said in Fail-over solutions:
For MySQL HA, the "go to" solution is generally Galera.
It's similar licensing to MySQL so a good match there, and is specifically the primary MySQL application layer HA product out there. I've used this in some pretty demanding environments (over 35K concurrent users.)
You donโt recommend Percona right?
It looks like Galera is an integrated part of MariaDB since v10.1, a few years back. Maybe that would be another option.
-
@pete-s said in Fail-over solutions:
@dbeato said in Fail-over solutions:
@scottalanmiller said in Fail-over solutions:
For MySQL HA, the "go to" solution is generally Galera.
It's similar licensing to MySQL so a good match there, and is specifically the primary MySQL application layer HA product out there. I've used this in some pretty demanding environments (over 35K concurrent users.)
You donโt recommend Percona right?
It looks like Galera is an integrated part of MariaDB since v10.1, a few years back. Maybe that would be another option.
MariaDB is what is installed anymore when you do a yum/dnf install mysql anyway. Unless you have the specific repository for MySQL.
-
@scottalanmiller said in Fail-over solutions:
@pete-s said in Fail-over solutions:
The customer standardizes on windows but the software is cross-platform.
But super slow and cumbersome on Windows Both MySQL and PHP famously are dogs on Windows.
I don't think that's true anymore. I haven't run any benchmarks on the same hardware but I think speed was brought up to parity with MySQL 5.5 by Oracle. And PHP after Microsoft started to work with Zend so around PHP 5.4 or so. Linux will probably always have the upper hand since that is the huge majority of installations and it would be my preference as well.
-
@pete-s said in Fail-over solutions:
@scottalanmiller said in Fail-over solutions:
@pete-s said in Fail-over solutions:
The customer standardizes on windows but the software is cross-platform.
But super slow and cumbersome on Windows Both MySQL and PHP famously are dogs on Windows.
I don't think that's true anymore. I haven't run any benchmarks on the same hardware but I think speed was brought up to parity with MySQL 5.5 by Oracle. And PHP after Microsoft started to work with Zend so around PHP 5.4 or so. Linux will probably always have the upper hand since that is the huge majority of installations and it would be my preference as well.
One example (real-life example), i have two production web servers set up. One on Windows and one Linux. They both use Apache, MariaDB, etc... The Windows one is (no exaggeration here) at least 5x - 10x slower in all aspects.