When a child node joins the cluster, it will report its status to the parent node every 2 seconds. The parent node receives the report and it will add the available child node into the "cluster members list". When the cluster server (parent node) receives the requests from GIS application servers, it will dispatch the task to the child nodes (cluster members) based on  load balancing. Child nodes receives the requests and responses to the cluster server. Then cluster server sends the responses to its client.

Fig. 1 Cluster communication mechanism

Cluster validation

For the following situations, the cluster server will determine the cluster member is timeout, and will not assign tasks to the member or send the assigned task to the other node.

  • If the cluster member doesn't report to the cluster server more than two seconds, i.e., the connection is timeout, then the cluster server will think this member is invalid.
  • If the response time of the cluster member is more than two minutes, i.e., the response is timeout, then the cluster server will think that the member is response timeout, and will send the request to the other node for processing.

In which, both the connection timeout settings and the response timeout settings can be set via the configuration file, see Managing the cluster with the configuration file.

Cluster correctness verification

SuperMap iServer provides automatic detection for the correctness of the cluster of the map service, i.e., the cluster system will automatically detect whether the service of the child node and the response result are correct, including the check verification when the child node joins in the cluster at the first time and automatically check at regular intervals. When executing the correctness check, the system will send the same request to each child node, if a child node has a distinct response result with other nodes, then the system will determine it as an error and send the request to other node for processing , so as to effectively prevent the error of the response result.

For example, if the system receives a map tile output request, then it will conduct image contrast according to the response result of each child node. For the map tile output request, the cluster correctness verification can effectively avoid the outputting error due to the data problem of some child node.

The basic principle of cluster correctness verification: Supposed that most child nodes are correct. When the number of the service node to be detected is equal to 2 and the results of the two nodes are inconsistent, then there are the following rules:

  • If one node is the parent node, then the child node is the error node.
  • If the parent does not provide services, then the child node that provides services will be sorted according to the unique identification and the result of the first child node is correct.