High-availability architecture for FTS
Before Service Pack 1, BMC Remedy Full Text Search (FTS) required that one server in a server group act as the FTS server. With version 8.1.00 Service Pack 1, you can now install more than one FTS server in a server group. Each of these servers acts as an independent FTS server, providing service failover.
How failover occurs in high-availability configuration
FTS requires that at least one of the servers in a server group act as a primary FTS indexing server. To provide failover, you can have two or more primary FTS indexing servers in the server group where each server acts as an independent FTS server and indexing FTS in their own Collection directory. Each FTS indexing server (known as primary FTS indexing server) manages its own separate local replica of the full text index data. When an indexing action takes place, each FTS indexing server indexes it independently.
For example, if you create a form and then index a field on that form, each FTS indexing server indexes that field. Because you can have multiple FTS servers, each with its own current copy of the FTS data, you can fail over to a second server.
An AR System server is designated as a primary FTS indexing server by having a ranking record for FTS in the AR System Server Group Operation Ranking form. Each FTS server defined in the ranking form acts as an indexing server and provides FTS search services to other servers in the server group. Each defined FTS server will always index, regardless of its ranking order. However, the server that is ranked 2 contains redundant FTS data and must be used for failover. If this server indexes a large amount of data, make it a non--user-facing server.
Servers in the server group that are not ranked for FTS are search-only servers. The search-only servers are user facing servers and they connect to one of the FTS indexing servers to search the FTS data.
The servers that are not designated as indexing server should not be listed in the AR System Server Group Operation Ranking form.
The following figure shows the FTS plug-ins and FTS high-availability architecture in a server group.
BMC Remedy Full Text Search (FTS) plug-in and high-availability architecture
Primary FTS indexing servers always connect to their own local indexes. The other servers in the group can connect to any of the indexing servers. BMC recommends that all non-Primary FTS servers initially connect to the Primary FTS server which is ranked 1. The Server-Plugin-Alias parameter in the ar.cfg [or ar.conf] files of the servers specify the initial connection. This initial connection is known as the home connection.
While servicing an FTS request, if an FTS indexing server experiences a connection error, the request attempts to connect to another FTS indexing server (as specified in the AR System Server Group Operation Ranking form) until a server is found or there are no more to try.
For example, consider a scenario where you have two primary FTS indexing servers that are ranked 1 and 2 in the AR System Server Group Operation Ranking form. Your Server-Plugin-Alias parameter points to the server that is ranked 1. If this server experiences a connection error, the connection request goes to the server that is ranked 2. If for some reason even the server that is ranked 2 is down, the request then is returned as an error since no primary FTS indexing servers are available.
- A slight load on the database can occur if you are performing re-indexing and your database server is running on a low memory.
- Avoid performing a full re-index at the same time on two FTS index servers running in your production environment, as a failover will occur if the FTS indexing server is busy while performing a re-index.
- A slight latency in displaying the search results can occur when the failover happens as it is required to establish a connection to the next ranked server for FTS.