Deploying queries on multiple correlators
When using multiple correlators to deploy an Apama query application, it is the administrator's responsibility to keep the resources of the exported project up to date. If changes are made to a query, if queries are added or removed from a project, then all correlators should be updated to reflect the new state. It is possible to inject queries into a live running correlator, or delete queries from a correlator. Make sure that the injections and deletions are performed on all correlators in the cluster.
The queries runtime assumes that all members of a cluster:
Share access to the same Distributed MemoryStore state - by using BigMemory Terracotta Server Array.
Can connect freely between nodes.
Run with clocks synchronized to within 1 second of each other. Apama recommends the use of the Network Time Protocol (NTP) to synchronize clocks.
The queries runtime will nominate a single member of the cluster as master, which will handle book keeping tasks such as garbage collecting nodes or handling failed cluster nodes.
If a correlator member of a cluster is using external clocking, then some functionality may not be available. The members will be able to share the same data, but an externally clocked node cannot be a master of other nodes and timers will not be failed over from an externally clocked node. In normal operation, external clocking should only be used for testing purposes on a single node (where failover and scalability is not required).
A production deployment of multiple nodes would not use external clocking for routine processing of events. Use the source timestamp feature (see
Using source timestamps of events) if the events may be delayed or delivered out of order.