Fail Over Deployment
Applies to version 14 beta 4 and above.
Connexion can be setup in a fault-tolerant configuration to provide hardware fail-over capabilities. The figure below illustrates the standard fail-over configuration for Connexion. The Sql Server back-plane can utilize any of redundancy mechanisms built into Sql Server: Always On, Hardware Clustering, Mirroring, or log shipping. "Always On" requires Sql Server Enterprise Edition which is expensive, so we recommend Mirroring which works with Sql Server Standard Edition.
If your organization already implements redundancy via other means (Microsoft Clustering Services, virtualization, etc) then we recommend you deploy Connexion on your existing infrastructure.
The Connexion Cluster, shown above, consists of 2 physical, or virtual, machines, which are bound to the same Connexion Configuration Database. The Connexion Cluster operates in an Active/Passive mode where the Active node performs work, and the Passive node is idle until the Active node fails, or a user manually changes the Active node.
Since many of the Connections coming into Connexion will be HL7, a network switch (hardware, or software) must be used to route the network traffic to the active node in the cluster. Connexion can be configured to have the active node periodically ping the Network Switch to notify the switch which node in the cluster the network traffic should be directed to.
Connexion databases can be named, so it is possible to have multiple Connexion instances hosted by the same database server. It is also possible to have the Connexion message databases hosted by different database servers.
Configuring Database Mirroring
In order to provide a fully automatic fail-over using Sql Server Mirroring, the following components are required:
Two instances of Connexion, running on two separate physical machines.
- An automatic fail-over deployment of SQL Server.
- A fail-over capable switch/router.
The simplest hot fail-over topology requires three physical machines. Two machines each have Connexion and SQL Server, and a third machine is required as a witness server for SQL Server replication. The witness role does not require any system resources, and so can be served by an existing server with a few spare cycles:
More information on configuring Sql Server mirroring can be found on the Microsoft website here: Setting Up Database Mirroring (SQL Server).
There is a good YouTube video with step-by-step instructions here YouTube Step-by-Step setup of Sql Server Mirroring.
Another Step-by-Step article can be found here: Configure Sql Server Database Mirroring Using SSMS.
Creating a Cluster
Install Sql Server
To create the cluster as pictured above, first install SQL Server on both the active, passive, and witness hardware. The active and passive instances must be at least SQL Server standard edition, and the witness can be the express edition. Ensure that the Sql Server Management Studio is included in each installation. You must ensure that each SQL Server instance is configured to allow connections via the network (ie, firewall, surface configuration).
Install Active / Passive Connexion
Install Connexion on the primary / active machine and during the installation configuration, point it to the SQL Server instance installed on the same machine (the primary / active). The next step is to install Connexion on the secondary / passive machine and during the installation configuration, point it to the SQL Server instance installed on the primary machine. When an installation of Connexion is pointed to a SQL Server instance which is already in use by another Connexion, a cluster is created.
Video
Connexion User Interface for Managing Cluster Nodes
Cluster nodes are managed through the "Server Management" configuration screen which can be found by clicking on the second button from the right in the client UI
.