Klumpp, Paul-Dieter 7 år sedan
förälder
incheckning
9a094c66ff
1 ändrade filer med 39 tillägg och 4 borttagningar
  1. 39 4
      README.md

+ 39 - 4
README.md

@@ -10,7 +10,7 @@ Example ...
 
 ## The IRC bots
 
-### Eggdrop Bot TCL plugin Version
+### Eggdrop Bot TCL plugin
 
 Configuration from a webserver
 XML
@@ -29,9 +29,44 @@ provides the following commands on the messaging service:
 Commands to publish
 provides the following commands on the messaging service:
 
-## Communication Backbone with a Messaging Service
+## Messaging Service
 
 Every client connects to a messaging service where they can interact
-with a command and control server program.
-
+with a command and control server program. It is the communication
+backbone. So to say, it's the transport of the messages with
+which the programs interact. Let's say 'Program message transport' is a
+synonym.
+
+As a future (late 2017?) underlying message transport I chose NATS from Apcera. 
+https://nats.io
+
+At the very moment (since 2014), the whole message transport is done via
+a ruby server that works together with a SSH-Server to send
+and receive messages. It is nicely working but there we have
+a single point of failure. There is only one Server that all
+clients have to connect to. We need this more scalable and
+failsafe.
+
+Have a look at the quakeworld community. We provide and use this IRC
+broadcasting service now for over a decade. It sure works,
+but this community is a golden nugget in comparison to many other
+communities. It deserves an even better working service which
+they can expand and code on.
  
+### Resiliency of program message transport
+
+Communities change and people come and go. So do servers and all
+those moving parts of a networked program. Lets make it more resilient.
+
+You can join the whole network by adding a cluster node to the
+messaging service. This would then extend the messaging service
+to make it more resilient. This also means, the communication between
+all clients would be working in all those conditions when a server
+fails. The clients would still find a messaging server inside
+the cluster. See https://nats.io for clustered NATS.
+
+Even more, lets say, if the whole NATS portion of the network fails, clients 
+would still need to be able to connect to the network. So, we could - in 
+some unknown future - even add Amazon Web Services Simple Queuing Service (SQS)
+to this network by coding a gateway from NATS to SQS. But that's future talk
+for something that was never meant THIS big. ;-) Let's dream.