A system with master and slave index servers has the following advantages:
Parallel search queries are distributed among several slave index servers and can therefore be answered more quickly.
Each index is available on multiple slave index servers. If one server goes down, the search queries are distributed among the remaining slave index servers. If all slave index servers becoming unavailable, the master index server would process the search queries.
A master index server can only process a certain amount of data. If you use multiple master index servers, you can index more data than in a single host system. The data must be distributed among several indexes.
If a system has no backup servers, you can store the TREX data either centrally or decentrally. The graphics below only depict systems with decentralized data storage.
You can build a system with one master and several slave index servers as depicted below.
The master index server carries the entire indexing load in this scenario. The searching load is distributed among the slave index servers. Such a system is suitable for scenarios where one master index server can cope with the amount of data to be indexed.
The smallest recommended system consists of one master and two slave index servers that run on separate hosts. The host that is configured as the master index server is also configured as the master queue server. The graphic below depicts the system.
Multiple Masters, Multiple Slave Index Servers
A master index server can only process a certain amount of data. If large data sets are to be indexed and you can distribute the data among several indexes, you can implement multiple master index servers. Each master index server manages some of the indexes.
You cannot define multiple master index servers to manage the same index.
TREX distributes the indexes among the master index servers using a round robin procedure. TREX also distributes the queues among the master queue servers using a round robin procedure. Any queue is located on the same host as the master index to which it belongs.
The load on a master index server depends on how large the indexes become and how often you update the indexes. If automatic index distribution does not lead to balanced load distribution, you can change the index distribution later on.
The smallest recommended system with multiple master index servers consists of two masters, each with two slave index servers.
You can realize this system in two ways, according to how many CPUs and how much main memory the hosts have. For information on hardware requirements, seeHardware, Software, and Other Requirements
One index server per host
If your hosts have few CPUs and not much main memory, only one index server can run per TREX instance. If this is the case, you distribute the master index servers among multiple hosts.
The graphic below depicts a system with two master index servers that are distributed among two hosts.
Multiple index servers per host
If your hosts have sufficient CPUs and main memory, multiple index servers can run for each TREX instance. The TREX setup checks the hardware resources and automatically configures the number of index servers.
The same number of index servers must run on the master host and on the corresponding slave hosts. If two index servers run on the master host, two index servers must run on each slave host.
The following graphic depicts a system with two index servers for each host:
One master queue server per master host is sufficient. This server manages the queues for both master index servers running on the host.
You can build systems with multiple masters and multiple slave hosts and with multiple index servers per host. The graphic below depicts such a system.