Creating a basic 3-node network
In this section, we will create a three-node network. The three nodes are: foo, bar, and mal.
foo -> bar <- mal
foo and mal are directly connected to bar with TCP connections.
foo can reach mal by sending network packets through bar.
Receptor configurations
Create three configuration files, one for each node.
foo.yml
---
- node:
id: foo
- control-service:
service: control
filename: /tmp/foo.sock
- tcp-peer:
address: localhost:2222
redial: true
- log-level: debug
...
bar.yml
---
- node:
id: bar
- control-service:
service: control
filename: /tmp/bar.sock
- tcp-listener:
port: 2222
- log-level: debug
...
mal.yml
---
- node:
id: mal
- control-service:
service: control
filename: /tmp/mal.sock
- tcp-peer:
address: localhost:2222
redial: true
- log-level: debug
- work-command:
workType: echo
command: bash
params: "-c \"while read -r line; do echo $line; sleep 1; done\""
allowruntimeparams: true
...
Run the services in separate terminals.
./receptor --config foo.yml
./receptor --config bar.yml
./receptor --config mal.yml
See also
- Configuring Receptor with a config file
Configuring Receptor with a configuration file
- Connecting nodes
Detail on connecting receptor nodes