About load balancing and proxies

About load balancing and proxies

Overview

Explains what the feature is or what its benefits are to the user or customer.

Feature

A load balancer is needed in front of a server group in order to direct traffic to
individual servers in a way that maximizes efficiency. Here are some of the best practices and
guidelines for a typical implementation with ThoughtSpot.
Your experience may differ depending on your environment and preference.

Load balance across ThoughtSpot nodes

The load balancer is an appliance in your infrastructure that routes
traffic automatically to nodes to provide failover. You can also place a load balancer or
proxy in front of the ThoughtSpot appliance if you'd like external network users to access the system.

The best way to
load balance across all ThoughtSpot nodes in a cluster is to map one domain name (FQDN) to all the IPs in the cluster in a
round robin fashion.

For example, if you want to use a DNS server based load balancing, then
you can define multiple "A" resource records (RR) for the same name.

Below is an
example of how you could set that
up

thoughtspot.customer.com IN A 69.9.64.11
thoughtspot.customer.com IN A 69.9.64.12
thoughtspot.customer.com IN A 69.9.64.13
thoughtspot.customer.com IN A 69.9.64.14

The
example indicates that IP addresses for the domain thoughtspot.customer.com are 69.9.64.11,
69.9.64.12, 69.9.64.13, and 69.9.64.14.

Session Affinity

Session Affinity refers to directing requests to the
same application server for the time it takes to complete a task.

In order for session
affinity to work on ThoughtSpot,
HTTPS (an SSL certificate) has to be installed on the load balancer level. If it is installed
outside of the load balancer, session affinity may not occur and the ThoughtSpot
system will fail.

Web proxies

You can access ThoughtSpot
through any standard web proxy server. Web proxies are fairly universal regardless of the
application they are proxying. However, ThoughtSpot
doesn't use any new protocols, like SPDY or HTTP/2, which may have a dependency on the proxy.
Instead, ThoughtSpot
is commonly placed behind a web HTTP/HTTPS proxy.

Additionally, the proxy can round robin across multiple nodes in the ThoughtSpot
backend. You can essentially use the web proxy as a load balancer. Therefore, your session will
carry over if the proxy round robins between the ThoughtSpot
backends as long as the URL doesn’t change.