Engine Reachability Domains
Contents
Engine Reachability Domains#
This chapter describes the Duckiematrix Engine
reachability domains.
What you will need
Completed Running the Duckiematrix.
What you will get
Knowledge on the Duckiematrix Engine
reachability domains.
Introduction#
The Duckiematrix is, by design, a distributed platform, meaning that you can scatter pieces around across an arbitrarily large geographical region, as long as they are able to talk to each other over the Network
.
If you are not running an Engine
locally, you need to tell the Renderers
where to reach the Engine
by providing an IP address or hostname.
Once the remote Engine
is running, remote (or local) Renderers
can join in.
Depending on where the Renderers
are (logically) located within the Network
with respect to the Engine
, your setup will need to meet different requirements.
We can distinguish between three different Engine
reachability domains:
Local machine only.
Local network only.
Global network (Internet).
To run a local Engine
using the embedded sandbox
Map
, run:
dts matrix engine run --sandbox
Once the Engine
is ready to accept connections from Renderers
, a list of IP addresses that the Engine
can be reached at will be shown.
Local machine only#
This is when the Engine
and Renderers
are run on the same machine, and communicate over the loopback network.
Local network only#
This allows for the scattering of Renderers
around a local network and is very useful for speeding up the simulation process, by distributing the rendering tasks among several machines.
The only requirement, in this case, is that all of the Renderers
can reach the network in which the Engine
resides.
Global network (Internet)#
This requires having a machine with a public IP address, as the Engine
needs access to a public IP address.
Also, all of the Renderers
are required to be able to reach the Internet.
Warning
Exposing a Duckiematrix Engine
to the Internet is not safe.
The Duckiematrix is not designed to account for malicious attacks.
Public Engines
need to be properly protected against such attacks.
Use this method at your own risk.
Behind a NAT#
Note that, the Renderers
are the ones initiating the connection with the Engine
, not the other way around.
Therefore, it is important that the Renderers
are able to reach the Engine
when the connection has not been established yet, meaning that it is okay for the Renderers
to be behind a NAT but not the Engine
.