tiger looking left small

1. Design and implementation

1.1. ACS

ACS is our general purpose, commercial clustering strategy designed for more or less typical XMPP installations of up to 5 - 7.5 millions of online users and up to 50 cluster nodes. The load tests we have run over the code were included a user database with 100mln accounts and an average roster size of up to 150.

1.2. Design

The clustering strategy is based on sharing information between cluster nodes about online users. Who is online and where the user is connected. Communication between cluster nodes is processed with the highest priority to ensure minimal delays with online user data population. An efficient synchronization mechanism allows for a minimal traffic between cluster nodes and distributing accurate data about connecting and disconnecting users.

2. Tigase ACS SM Installation

Tigase ACS SM component can be obtained from tigase-acs distribution package. All final releases will be available in the Files section of the project. Component is also included in Tigase XMPP Server distribution files (which include both installer and @-dist-max@ flavour of archive).

After downloading the archive it’s simply matter of extracting it and copying contents of libs/ directory of extracted archive to the libs/ directory in tigase-server/ installation directory, eg. under *nix systems (assuming the archive was downloaded to main Tigase Server directory):

tar -xf tigase-acs-${version}.tar.gz
cp -R tigase-acs-${version}/libs/ tigase-server/libs

3. Tigase ACS SM Configuration

In order to user Advanced Clustering Strategy, clustering mode first needs to be turned on:

'cluster-mode' = true

and then an ACS strategy needs to be enabled:

'sess-man' {
    strategy (class: tigase.server.cluster.strategy.OnlineUsersCachingStrategy) {}
}