Skip to content
This repository has been archived by the owner on May 6, 2020. It is now read-only.

Single node and cluster configuration reference

mpermar edited this page Nov 25, 2011 · 3 revisions

Following are the different configuration files and their meaning in the different deployment scenarios (solo server and clustering).

Single Rayo Server

By default for a Single Rayo Server scenario you should not need to touch any file. However here is the configuration file semantics for your reference or just in case you need to tweak anything.

Filename Location Description
xmpp.xml WEB-INF Defines XMPP Server domains. Each of the "xmpp:servdomain" entries defines domains and IP addresses that clients can use to send XMPP commands to this Rayo Server. Any messages coming from domains that are not in that list will be ignored by the Rayo Server.
rayo-xmpp.xml WEB-INF Defines different Spring Framework hooks. Commonly you should not need to touch this file.
rayo-routing.properties WEB-INF/classes

Defines routing rules for XMPP messages. Routing rules are defined in Regexp (Java) format. The Rayo Server will use these rules to dispatch the XMPP messages to the client sessions that are connected to the server.

So if for example you have a client connected as "usera@localhost" you can add a rule .*=usera@localhost that will forward every XMPP message to that client session.

Clustered Setup

On a clustered setup you will have several rayo nodes, one or more rayo gateways and an XMPP server like ejabberd or jabber.org that will act as a proxy. Before trying to configure a Rayo Cluster you should probably have read the Clustering document first.

Rayo Node

On each Rayo Node you need to pay attention to these files:

Filename Location Description
xmpp.xml WEB-INF

First. **Defines Rayo init parameters** that will be used when communicating with the Gateway Servlet. The parameters and their values are as follows:

  • **gateway-domain**: The domain name of the Gateway server. This domain will be used in the 'to' attribute XMPP messages sent to the gateway.
  • **local-domain**: The Rayo Node domain name. This domain name will be used in the 'from' attribute of the XMPP messages sent to the gateway.
  • **platform**: This is a categorization attribute for the different Rayo Nodes. Rayo clients can subscribe themselves to the different available platforms. The Rayo Gateway will load balance messages across platforms.
  • Second. **Defines XMPP Server domains**. Each of the "xmpp:servdomain" entries defines domains and IP addresses that clients can use to send XMPP commands to this Rayo Server. Any messages coming from domains that are not in that list will be ignored by the Rayo Server.

rayo-xmpp.xml WEB-INF Defines different Spring Framework hooks. Commonly you should not need to touch this file.
rayo-routing.properties WEB-INF/classes

Not used. A rayo node always forwards its messages to the rayo gateway.

Rayo Gateway

The Rayo Gateway is a proxy between the Rayo Nodes and the XMPP Server. Following are the relevant configuration files:

Filename Location Description
xmpp.xml WEB-INF

**Defines XMPP Server domains**. Each of the "xmpp:servdomain" entries defines domains and IP addresses that both Jabber servers and Rayo Nodes can use to send XMPP commands to this Rayo Server. Any messages coming from domains that are not in this list will be ignored by the Rayo Gateway. So it is important that both Gateway internal and external domains are included on this list.

external-domains.properties WEB-INF

Defines the list of external domains that this Rayo Gateway is listening to. The first entry on this list is the domain name that the Gateway will use when sending messages to Client Applications.

internal-domains.properties WEB-INF

Defines the list of internal domains that this Rayo Gateway is listening to. The first entry on this list is the domain name that the Gateway will use when sending messages to Rayo Nodes.

rayo-routing.properties WEB-INF/classes

Defines routing rules for XMPP messages. Routing rules are defined in Regexp (Java) format. The Rayo Gateway will use these rules to dispatch the XMPP messages to the client Jabber sessions that are connected to the server.

So if for example you have a client connected as "mpermar@go.rayo.org" you can add a rule .*456754567.*=mpermar@go.rayo.org that will forward every XMPP message coming from an address with the code 456754567 (which could be an app code) to the Jabber session associated with mpermar@go.rayo.org