naresh6119 wrote:Requirement
We would like to have Active-Active (Both DB servers will be in active mode so that one fails, there shouldn’t be any impact on production)
or Active-passive (if active failed, passive server should become active automatically) Data base architecture with Multiple WEB and Telephony servers to support upto 700 users
Need to know : Kindly let us know the good time (IST) to discuss our requirement in details with you.
Vicidial servers generate thousands of transactions per second. Vicidial scripts deal with nanosecond timing to accomplish their tasks. Each independent server uses the database for all decisionmaking and coordination with other servers.
MySQL replication and clustering requires Time to transmit data between servers. Real time. Not nanoseconds, but seconds. Thus any failover would always create (at the very least) a hiccup in decisionmaking. Incorrect decisions can be quite disruptive: Multiple clients in one agent session, for instance, create a scenario where two clients are talking to one agent at the same time (and not coincidentally, those clients can hear each other). This is a tiny example of one of the thousands of decisions made every second by a Vicidial server while making those decisions based on response from the database server.
Not to say it would be impossible to create a true failover scenario, but the coding and testing time required will likely be $10k to $50k. Most call centers are not interested enough to pursue this to that level. It's customary presently to make the DB server as bulletproof as possible instead and create a script to switch to the secondary server when needed (which will incur a 5-10 minute downtime period).
We do have alternatives which allow for an unlimited seat system in production presently. But those are pre-release and not (yet) available outside our systems while we test them thoroughly. We hope for release next year.