Scaling Up

Multiple Masters

Sometimes there is more telephony hardware than can run on a single machine. Modular applications can be scaled up by deploying multiple machines, each with their own master. This also provides failover redundancy for the application.

Each master runs independently and does not know about other masters. However, all masters (and slaves) need to share the same arbiter (see the Arbiter). Masters can share slave applications. A slave can process calls from multiple masters.

Duplicate Slaves

Enhance redundancy and scalability by running multiple instances of a slave, each on a different machine. All duplicates register with the same slave name. In order for the master to invoke the duplicates, it uses the enhanced format for the SlaveName property on the SlaveStart control:

<machinename>:<slavename>

EXAMPLE

If slave taxi is running on two machines, server1 and server2, a master could direct a call to the taxi application on server2 by specifying server2:taxi.

The master should send calls to the duplicate slaves in round-robin fashion, to spread the load across the slave machines.