Page 1 of 1

Mid-tier failover clustering and load balancing

Posted: Wed Jun 21, 2017 9:33 am
by kkirkfield
Currently we have two mid-tiers on VMs in the same colo. We are expanding to more colos and want to set up better failover and load balancing support. If we use Windows Server Failover Clustering, can we install two mid-tiers in one cluster and two mid-tiers in another cluster to support failover in case one of the VMs goes down? The SP Select Client software has to connect to one mid-tier IP. Maybe we can set up a load balancer or reverse proxy to allow the client to connect to the primary cluster or round robin the users to different mid-tiers?

We also want to set up a second SQL Server and use AlwaysOn Availability Groups. Does SP Select use "ApplicationIntent=ReadOnly" for read only based connections? This way our synchronous secondary can support read only connections.

Re: Mid-tier failover clustering and load balancing

Posted: Wed Jun 21, 2017 1:13 pm
by John Morris
Select is load balanced in the follow way:

1. Using a typical load balancer (F5, Zen ,etc), you configure a virtual IP address (VIP) that will be the address that the client connects to.

2. The load balancer MUST be configured for sticky sessions, using a HTTP query parameter hint. The traffic between the client and server is using HTTP with encrypted messages. The header and url is visible. The load balancer needs to be configured to provide stickiness cases on the "?CID=<XXXXX>" url query parameter. The "<XXXXX>" part is the portion that the load balancer would inspect. SoftPro internally uses the Zen Load Balancer with HTTP/QueryParam stickiness for testing purposes.

3. You aren't required to use Windows clustering at all.

NOTE: In a near future release of Select, we will be adding support for HTTPS configurations. When that release is made, it will introduce a new service component, known as the Gateway. When this happens, the stickiness requirement for the load balancer will be removed and you can simply use any load balancing configuration you'd like (round robin, etc).