RPC Outer (rpco)

Description

A service role that enables server-to-server communication between sites without a direct connection of type full-mesh. It also solves the problem of lack of direct visibility of address spaces by each other’s sites. Each node within the system has an rpco client to make such requests. Roles-servers are configured in the configuration rpco.

Reserved in Active-Active mode, but preferentially applies the first available instance.

Table 1. System Characteristics

Code

rpci

Mode of operation

Service

Backup mode

Active-Active

Types of sites

All of them

Layer

Configuration

Placement

Internal

Saving and restoring state on reboot

Yes

appendix

era_rpco

Limitations

  • Present in the initial configuration.

  • Must be present at all sites.

  • Must reside on those site servers that have access to subnets that address role instances on other sites, otherwise it is not possible for sites to interact and have one multiple domain distributed service on them.

  • If the rpco role addresses of another site cannot be reached directly, an attempt is made to reach through instances in the master site.

Parameters

Table 2. Parameters
Name Type Default Description

name

str

required

Name. May consist of Latin letters and numbers, must begin with a letter.

roletype

str

required

Role Type. Possible values: "rpci".

iface

str

required

The alias of the server network interface on which the roles will interact internally with each other.

ext

json

empty

Additional role options. Contains a json object or list.

enabled

bool

empty

Role activity flag. When set to false, the role does not participate in validation and is not started.

Configuration example

The configuration is managed in an application available to master domain administrators. The application hides the full content of the configuration, but it is nevertheless accessible via the API.

The configuration contains a section to describe all instances of all roles. Parameters are defined for each specific role instance.

Example node
{
  "name": "rpco1",
  "roletype": "rpco",
  "iface": "eth0"
}

See also