Hi, Some services like mail server or ftp server, allways use db for READ ONLY, and only control panel use the db for Rwad and Write. Should be possible configure a $mastedb and $slavedb? If $slavedb is not configured then use the same than $masterdb. If $slavedb fail, then try connect to $masterdb If we have a los of traffic in mailserver (for example spam and real users) can turn down the db and all clients can be affected. With slavedb we can fix the problem, for example: 1.1.1.1 --------------- 1.1.1.2 |Masterdb| ----------- | Slavedb | Or: 1.1.1.1 ----------------------- 1.1.1.2 |Masterdb| ------------------ | Slavedb VIP | (LVS for example) _________________|Slavedb1| -- |Slavedb2| -- |Slavedb3| _________________ 1.1.1.3 ______ 1.1.1.4 _____ 1.1.1.5
ISPConfig is using already a internal replication to avoid these load problems so we do not need the mysql replication feature. In a multiserver setup, all servers are reading only from their local database and ispconfig is doing the complete replication part from the master to the slaves.
Imagine: I have multiserver setup, 5 servers, but in server 2 i am receiving a brutal spam traffic and brutal real mail traffic. So i need mysql read data but this server doesn't enogh power, should be good idea add a slavedb. I can use small server for slavedb, because i only need replicate ispconfig database and i can cache in ram in a pentium4 for example until i receive bigger server. Slavedb in ram is not optimal but is better than down server. If you want i can think better examples but i think is good feature BUT is not urgent. And it is not a hard implementation, only need some config lines and in every read query use $slavedb and $masterdb for rw. (Mysql Cluster use ram for store dbs and async copy to disks)