Introduction

In order to obtain the maximum benefit from your use of ScaleOut StateServer, it is important to understand how the software works to implement its distributed store. The software’s goal is to cost-effectively maximize the availability and scalability of your server farm applications. It accomplishes this by distributing, or scaling out, its workload across the servers on your farm. This technique extends the benefits that you probably have already seen from using IP load-balancers, namely:

  • It scales performance by using multiple servers to share the workload and by letting you add servers as performance demands increase.

  • It provides high availability in case a server fails because other servers in the farm can take on a portion of the failed server’s workload.

  • It maximizes cost-effectiveness since you can build your server farm using several, inexpensive computers (for example, server blades) instead of scaling up by using a single, large, expensive, multiprocessor server.

ScaleOut StateServer distributes its workload by partitioning the store across the memories of the servers in the farm. It load-balances the stored data objects to control the relative portion of data objects stored in each host according to the store_weight parameter for each host. Distributing the workload and providing uniform access to data objects from all hosts provides scaled performance. More information on ScaleOut StateServer’s load-balancer can be found described in the following section, Load-Balancing.

ScaleOut StateServer also intelligently replicates data objects on up to two additional hosts to maintain high availability in case a server fails. Patented quorum-based updating technology ensures that updates to data objects are reliably committed in case of network outages. Details on ScaleOut StateServer’s data replication and recovery after failures are described in the section Recovery from Failures.

The section Performance Considerations provides details on how ScaleOut StateServer optimizes the performance of its distributed, in-memory store, and it describes some of the inherent performance advantages of a distributed architecture.

The next section explains how the GeoServer Option provides both scalable and highly available replication of object updates to a remote ScaleOut StateServer store. It also describes memory requirements for object replication.

The final section explains how the Remote Client Option provides both scalable and highly available remote access to a ScaleOut StateServer store from a networked computer. It describes the advantages of hosting ScaleOut StateServer on a dedicated server farm for access by remote client applications.