Terracotta Ehcache 10.7 | Terracotta Server Administration Guide | Cluster Architecture
 
Cluster Architecture
The Terracotta cluster can be viewed topologically as a collection of clients communicating with a Terracotta Server Array (TSA).
The server array is composed of one or more logically independent stripes. The total storage and computing capacity of the TSA can be increased with the addition of more stripes.
A stripe is composed of one or more servers. Each stripe contains a single active server and zero or more passive servers. These stripe members share a common configuration in order for any one of them to fill the "active" role. Refer to the section The Terracotta Configuration File for more details.
"Scale-up" is achieved by configuring the servers to utilize more storage (e.g. memory) from the machines that they are deployed on.
"Scale-out" is achieved by adding more stripes to the TSA.
Greater levels of "HA" (high availability) are achieved by adding more members and/or voters to each stripe.
For more information on clients, active servers and passive servers, see the sections Clients in a Cluster and Active and Passive Servers.
TSA Topologies
There are multiple types of TSA topology, each offering different resource and availability capabilities.
TSA Topology
Description
Single-server
This is a TSA which consists of one stripe containing a single server. This server is always the active server.
This scheme offers the least amount of both resource and availability capabilities:
*If this server should become unavailable, your client end-points will fail to operate.
*The resource services exposed to your clients are limited to those of the underlying server JVM and OS.
High-availability
This refers to a TSA where each stripe consists of at least two servers. In addition to the active server there will be at least one passive server. The stripe may continue operating in the event of an active server failure, as long as at least one passive server is available.
Note that stripes do not share passive servers, so each stripe will need at least one passive server to possess high-availability.
Depending upon your overall topology, the use of external voters may also help achieve greater levels of HA.
See Failover and Failover Tuning for more discussion on HA topics.
Multi-stripe
Multi-stripe refers to a TSA that consists of multiple independent stripes.
This scheme offers the ability for increased storage and computation resources, with each stripe contributing to the available total amount of storage.
For a multi-stripe TSA to possess high-availability, each stripe must consist of more than one server. This setup offers the maximum of both resource and availability capabilities.
Client perspective
Each client is logically independent of other clients. It sees the TSA as a collection of one or more stripes. It connects to the active server of each stripe in order to issue messages to the cluster.
Stripe perspective
Each stripe is logically independent of other stripes in the TSA. Each stripe member only concerns itself with the clients connected to it and its sibling servers.
Specifically, the active server is the key point in each stripe: each stripe has exactly one active server and it is this server which interacts directly with each connected client and each passive server within the same stripe.