Thu Dec 13 15:44:49 EST 2018
Distributed system and unidirectional messages (events).
Writing an application as a connection of nodes might seem a little
overkill, but there is one really important remark to be made:
If the nodes are structured in such a way that communication between
them is straigtforward, it is easy to move functionality from one node
to another. While nodes might be abstractly "the same", they are
often distinctly different in how they are implemented, with very
different properties in what they can do wrt non-functional
requirements such as response time and throughput.
E.g. one node could be a C or Rust process, the other an Erlang node,
the other an FPGA or microcontroller on a USB bus.
An important part here is to allow for UNIDIRECTIONAL communication.
Because that is the thing that easily alows moving stuff around, and
keep a data-flow structure in the network.
I.e. DONT USE RPC IF IT IS NOT NECESSARY.