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.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.
thoughtspot.customer.com IN A 220.127.116.11 thoughtspot.customer.com IN A 18.104.22.168 thoughtspot.customer.com IN A 22.214.171.124 thoughtspot.customer.com IN A 126.96.36.199
The example indicates that IP addresses for the domain thoughtspot.customer.com are 188.8.131.52, 184.108.40.206, 220.127.116.11, and 18.104.22.168.
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.