Summary: Describes the new Proxy Connectivity feature of GigaSpaces 6.6.X
 Overview Each space operation on a cluster is routed to a single space or multiple spaces, according to operation type and load-balancing policy. To make this routing possible and efficient, clustered proxies hold remote stubs to the spaces in the cluster. The proxy connectivity policy determines which remote proxies should be looked up in advance, and how to monitor them. Monitoring Policies
- No monitoring: space-config.proxy-settings.connection-monitor=none means that all the connections to remote spaces are established on demand only, and no monitoring is done.
This policy eliminates the monitoring overhead completely - no unnecessary lookups or pings, but it can also increase the failover time.
- Monitoring on demand: space-config.proxy-settings.connection-monitor=on_demand means that all the connections to remote spaces are established on demand only, and once the connection is established, the connected space and its backups are monitored by the clustered proxy.
This policy should be used when only part of the cluster is used, for example a scenario when all client operations go to the same partition.
- Full monitor: space-config.proxy-settings.connection-monitor=all means that the proxy connects to all spaces in the cluster immediately at startup, and all the spaces are monitored as long as the proxy is alive.
This policy should be used when failover time is very important, and needs to be minimal. Monitoring Details The proxy monitors the remote spaces in two ways:
- Checking for spaces availability – spaces that were already found by the proxy are checked periodically by using the space remote method invocation - ping().
The frequency of this monitoring can be set, using the following XPath property: space-config.proxy-settings.ping-frequency
- Finding spaces – for spaces that were never looked up by the proxy, or never joined the cluster, the proxy performs lookups to check if they are available.
The frequency of this monitoring can be set, using the following XPath property: space-config.proxy-settings.lookup-frequency
An optimization was applied to the monitoring algorithm, to not check the available spaces if they are constantly in use, i.e. constantly handling user operations. Configuration and Usage New Configurations New proxy connectivity settings were introduced in GigaSpaces XAP 6.6 within the Space configuration schema file. You can override these settings, as with any other configuration. Space Schema snippet
<space-config>
<proxy-settings>
<!—monitor settings -can be all/on_demand/none default is all ->
<connection-monitor>all</connection-monitor>
<!—defines how frequently available spaces should be checked. default is 10000 ms.
(replaces the previous liveness-monitor-frequency system property)->
<ping-frequency>10000</ping-frequency>
<!—defines how frequently not available spaces should be checked. default is 5000 ms.
(replaces the previous liveness-detector-frequency system property)->
<lookup-frequency>5000</lookup-frequency>
<!—defines how many times the unavailable spaces should be retried before failing the operation. default is 10 retries ->
<connection-retries>10</connection-retries>
</proxy-settings>
</space-config>
Liveness vs. Proxy Connectivity Prior to XAP 6.6, there was another infrastructure in the proxy, which was called the liveness detection. From XAP 6.6 onwards, it is replaced with the connectivity feature. See below for the different settings of pre-6.6 and post 6.6 versions:
System Property |
Description |
Default Value |
-Dcom.gs.cluster.livenessMonitorFrequency |
Defines the frequency in which liveness of 'live' members in a cluster is monitored. (Checks if available members become unavailable). |
10000 ms |
-Dcom.gs.cluster.livenessDetectorFrequency |
Defines the frequency in which liveness of members in a cluster is detected. (Detects if an unavailable member becomes available). |
5000 ms |
In most cases, livenessDetectorFrequency is the property you need to alter, since it is responsible for detecting spaces that are unavailable. This configuration is still supported in 6.6, the new settings just override the liveness properties. So existing settings don't need to be changed. New settings should use the new format. |