A EVA ICS node can be split into the primary and secondary points.
The secondary points contain service launchers, which allow moving heavy-loaded services to additional machines. Also, secondary points can be used for high-availability of certain types of services (e.g. HMI service).
When a secondary point is connected, it creates two bus instances:
eva.spoint.<NAME> for system communications
eva.launcher.<NAME> for service launching
The launchers get all required information from the primary point, where EVA ICS core is located, so secondary points can not launch services until connected.
When a s-point gets connected, it asks the core to launch all services assigned to it.
When the primary point is shut down, all secondaries enter the waiting mode and attempt to reconnect every 1 second.
Secondary points do not host inventory, registry or any kind of resources and can be easily dropped at any time. Certain services may host their data in EVA_DIR/runtime folder at a secondary point.
Secondary points also do not have any logs, all messages are sent and logged by the primary point.
To prepare a node to act as the local cluster primary point, edit eva/config/bus key:
eva edit config/bus
/opt/eva4/sbin/eva-registry-cli edit eva/config/bus
in the section “sockets” append a network socket to listen on, e.g. “0.0.0.0:7777”:
- var/bus.ipc # KEEP THIS
As the bus sockets provide very minimal security, it is highly recommended to host both the primary and the secondary points in a trusted network and use VPN/firewall for network-to-network communications.
Restart the primary:
eva server restart
Restart the secondary point
The point should appear in the list:
eva spoint list
/opt/eva4/sbin/bus rpc call eva.core spoint.list
Edit/deploy/re-deploy a service, with the configuration parameters:
path: your_ip_or_host:7777 # must be set to the bus public socket
- id: eva.svc.locker2
launcher: eva.launcher.point_b # the point name
As soon as the service configuration is modified, it is stopped at the primary point and launched at the secondary one.
For services, not included in the default EVA ICS distribution, make sure they are installed on the secondary point machine.
After started, the service is ready to accept file deployment calls, which are performed on the secondary point it is running on.