High Availability
Use a high availability configuration to be resilient against unexpected operating system failures or network outages. The picture below shows the high availability architecture.
A high availability configuration has the following parts:
- The primary server. This is the server that is active by default and leads the configuration. You can setup new channels and triggers here.
- The secondary server. It’s not possible to change the configuration from this server. This server, by default, only monitors the primary server.
- The database. The database must be a SQL Server database that is part of SQL Server HA group. Both primary and secondary servers access this database.
- The load balancer (optional). This can any TCP load balancer such as HAProxy or NgenX. You need a load balancer when using server channels such as the HTTP API or the SMPP Server channel. If you’re running client configurations on different PC’s you’ll need an UDP load balancer as well. NgenX supports both TCP and UDP load balancing.
Setup the primary server
Use the Configuration Wizard to setup or change your configuration type. The Configuration Wizard runs automatically after setup, but you can start it manually as well, either from the start menu or from the manager (File -> Configuration Wizard). To configure your server as the primary server select: ‘Primary Server (HA)‘ as your configuration type.
Next enable high availability in the Server options page. You can find this setting in the ‘High Availability‘ tab. Open the server options from the Configuration -> Options menu.
NOTE: Make sure to restart the service after enabling high availability.
Make sure to setup a notification e-mail, phone number and/or URL. These will get notified if the primary server goes offline or when the server is restored.
Setup a secondary server
To setup a secondary sever use the Configuration Wizard to setup a ‘Secondary Server (HA)‘ configuration type.
It’s not possible to modify your configuration from the secondary server. The secondary server can only monitor the primary server.
If the primary server goes down the the secondary server takes over all of its tasks automatically and when the primary server is restored the secondary stops all tasks and resumes monitoring.
If it’s not possible to restore the primary server you can promote the secondary server to a primary server or even to a standalone server by using the Configuration Wizard. This way you’ll be able to modify you configuration again.
Primary / Secondary server status
You can view the server status from both the primary as well as the secondary server. Open the service control view from the Manager by clicking File -> Service start / stop.
If both servers are online both with show green. If there’s an issue with the primary server you’ll be able to log into the secondary server to see the current status reflected in this dialog as well.