The beauty of the module is that it will not require any 3rd party software to operate. I am designing it to run entirely in-memory using multi-cast events to communicate between cluster nodes. No external database will be required to enable the automatic fail over and call recovery. If you have your customers / clients using DNS to point traffic to your system and you run multiple master nodes with DNS performing load balancing, you can also make use of the maintenance mode I have planned which will use a separate IP address and update your DNS records to remove the master which you put into maintenance mode and put in the maintenance IP which is assigned to the slave node which is being promoted as master. This allows calls to drain off the master while new calls come up on the slave, and then you can gracefully shut down the master when all calls are finished. Once you are done with maintenance, you simply bring it back online and it comes up as a slave or a master as needed (according to your configured master / slave ratio). The IP which it was using as a master node becomes the new designated maintenance IP. This is the only case where a 3rd party software package is required, and it is an optional feature. On Sat, Feb 9, 2013 at 6:49 PM, Gilad Abada <ga@steadfasttelecom.com> wrote:
Hey Eliot
Sounds exciting. Which DB will you be using Postgres? I will try to get my company to pitch in a few dollars.
Sent from my mobile device.
On Feb 9, 2013, at 12:11 PM, Eliot Gable <egable+freeswitch@gmail.com> wrote:
For the past two years, I have been working on and off on a high availability cluster module for FreeSWITCH. If you would like to see HA built into FreeSWITCH directly, instead of dealing with Pacemaker + Corosync or other 3rd party systems, please check out the module, voice your support, provide feedback and suggestions, and consider supporting it.
Some advantages over a 3rd party solution like Pacemaker include:
- Sub-second failure detection and response (meaning it can start recovering calls less than a second after a failure occurs) - Failure detection is built into FreeSWITCH so it can detect conditions which 3rd party modules cannot detect - One shared configuration file between all nodes (no per-node IP configuration required) - No fixed number of nodes - Graceful migration of calls with a maintenance mode (requires DNS)
These are just some of the benefits of building a FreeSWITCH-specific HA system. For additional details about the project, please visit:
http://wiki.freeswitch.org/wiki/Mod_ha_cluster
If you would like to see this project come to fruition, please consider financially supporting it through Kickstarter:
http://www.kickstarter.com/projects/1175121367/high-availability-cluster-mod...
Thanks in advance for anyone who contributes, either with just a shout-out, with feedback and/or suggestions, and especially to those who pledge some financial support.