Step 9: Cross-site communication

Looking ahead for completeness, it should be noted that the layers of communication between roles (and hence between nodes, servers, sites) are several:

  • logical layer- services worked with it before this step during the considered interactions, and it is it that we will study at this step;

  • file layer - file transfer between servers and sites built into the system;

  • protocol layer - interaction of system parts with each other according to certain standard protocols: SIP, MEGACO, HTTP;

  • media layer - a separate protocol layer for traffic transmission in stream interactions (RTP, DTLS protocols - voice and video in calls and conferences);

  • external layer - interaction of system parts indirectly through external systems (databases, external service providers, cloud services, other network storages).

We are now focusing on the logical layer of communications. This is the layer where the communications of the various services/roles within the system take place. In particular, WS passes CRUD operations to DC for execution here. This is also where IC to IC, IC to MIS, SDC to MDC, and other yet-to-be-explored roles communicate. In some special cases, files are transferred between servers in this layer. The peculiarity of the layer is that practically every pair of nodes is meshed. Given the large number of roles, their redundant examples, the large number of sites, the large number of servers - the number of connections easily exceeds reasonable limits.

Static

The RPCO role was introduced to ensure inter-site communication. All nodes within a site communicate directly, but between sites any contact on the logical layer is made through the RPCO role. This is a service role needed by most of the internal services of the system, so it is reserved in Active-Active mode and on each node is active client module access to the server RPCO, which is actually a functional facade of RPCO. The client module monitors the availability of RPCO role instances, caches and periodically updates their state.

Static

The diagram shows that any two servers from different sites communicate through a pair of RPCO - one at each site. Thus RPCO is designed to solve several problems:

  • The problem of high gearing as the scale of the system grows.

  • The problem of site location in local networks.

  • The problem of finding global names on a remote site.

  • The problem of debugging cross-site communication.

  • The problem of uncontrolled loading of the network channel with traffic between sites.

However, when new servers are started, they are not contained in the configuration, have no binding to a site, and therefore connect to MIC or IC directly, bypassing the RPCO.

The "Incoplax" platform has another layer of full connectivity optimization - each server uses a network service, so the number of real connections is reduced.

Table 1. Terms used
term Determination

Layers of communications

!

Logical layer of communications

!

RPCO

!