MySQL Slavedb

Discussion in 'Feature Requests' started by dxr, Aug 31, 2009.

  1. dxr

    dxr ISPConfig Developer ISPConfig Developer

    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
     
    Last edited: Aug 31, 2009
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    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.
     
  3. dxr

    dxr ISPConfig Developer ISPConfig Developer

    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)
     

Share This Page