Routing introduction

Spotfire provides routing capabilities within the environment.

No load balancer is required between Spotfire Server and the nodes because the default routing capability of Spotfire Server features built-in load balancing, enabling non-opened analyses to be loaded by the least utilized Web Player service instance. After an analysis is opened in a client, all subsequent requests by the user for the session are forwarded to the instance that was used for the initialization; thus Spotfire Server routing maintains analysis session affinity.

Default routing also improves capacity utilization by forwarding requests for a specific analysis file to the instance or instances of Spotfire Web Player where the file is already open, thereby serving multiple users with the same service instance. Analysis data is also shared between users, so additional users accessing the analysis file will have a low impact on performance.

In addition to the default routing, administrators can create resource pools and assign Spotfire Web Player instances to them. The resource pools abstraction enables default routing to be altered by specific routing rules. Rules can be specified for users, groups, or specific analysis files, and are defined and applied in priority order, similar to mail sorting rules. Rules can be sorted, enabled, disabled, and re-mapped to a different resource pool.

There are three health status codes for Web Player instances, used to better route traffic among the instances: Available (or OK), Strained, and Exhausted. The status codes are calculated from the CPU and memory usage on the node that is running the service instance. The current status can be observed on the diagnostics pages.
Note: It is expected that a service instance that is frequently busy, and has high CPU or memory usage, would remain in the Strained state for long periods of time.

Also, administrators can attach schedules to routing rules that apply to analysis files, effectively turning a routing rule into a scheduled update. Thereby, the administrator can have the analysis pre-loaded on selected instances in a resource pool, and have the analysis refreshed at specified intervals.