1
0
Fork 0
mirror of https://github.com/postmannen/ctrl.git synced 2024-12-14 12:37:31 +00:00

updated readme

This commit is contained in:
postmannen 2021-03-26 10:52:36 +01:00
parent 22acb03d95
commit 7f64048f8a

View file

@ -12,7 +12,11 @@ By default the system guarantees that the order of the messages are handled by t
A node can be a server running any host operating system, a container living in the cloud somewhere, a rapsberry pi, or something else that needs to be controlled that have an operating system installed . The message passing backend used is <https://nats.io>
## Why ?
## Inspiration
The idea for how to handle processes, messages and errors are based on Joe Armstrongs idea behind Erlang described in his Thesis <https://erlang.org/download/armstrong_thesis_2003.pdf>. This does mean it is done in exactly the same way, but more on how I understood those ideas and implemented them using the Go programming language with NATS as the message broker to get a fully decoupled message passing system to handle processes.
## Why
With existing solutions there is often either a push or a pull kind of setup.
@ -22,8 +26,6 @@ In a pull setup an agent is installed at the Edge unit, and the configuration or
In it's simplest form the idea about using an event driven system as the core for management of Edge units is that the sender/publisher are fully decoupled from the receiver/subscriber. We can get an acknowledge if a message is received or not, and with this functionality we will at all times know the current state of the receiving end. We can also add information in the ACK message if the command sent to the receiver was successful or not by appending the actual output of the command.
The idea for how to handle processes, messages and errors are based on Joe Armstrongs idea behind Erlang described in his Thesis <https://erlang.org/download/armstrong_thesis_2003.pdf>. That do not mean this is done in exactly the same way, but more on how I understood those ideas and implemented then using the Go programming language with NATS as the message broker to get a fully decoupled message passing system to handle processes.
## Overview
All parts of the system like processes, method handlers, messages, error handling are running concurrently.