Genau, die REST-
API liegt auf dem Apache-Web-Server auf der Linux-Maschine. Dort liegt auch die
MySQL-Datenbank. Auf dem Windows-Server - so dachte ich - ist der Windows-Server-Dienst meines Programmes installiert, der für die Clients mit der
API kommuniziert und die Anfragen/Antworten hin und her sendet.
Ja, kann man machen, erhöht zwar etwas die Komplexität, aber sei es drum.
Eine MessageQueue für den Service und pro Client eine Queue.
Der Service überwacht die eigene Queue und nimmt die Nachrichten und schickt diese an die
API. Das was zurückkommt gibt er wieder in die Queue vom Client. Meldet die
API, dass eine Änderung erfolgt ist, dann wird auch eine Nachricht in alle anderen Client-Queues geschrieben.
Der Service kann dadurch niemals durch einen nicht antwortenden Client ausgebremst werden. Die Clients sprechen nur mit den 2 Queues (Service, Eigene). Das ist recht einfach umzusetzen.
Eine Chat-Nachricht geht über die Service-Queue an der Service, der verteilt die Nachricht an die passenden Queues (oder erst zur
API und dann erst wieder an die Client-Queues). Auf jeden Fall muss hier nicht das
Rad neu erfunden werden und die Kommunikationswege sind inkl. der Protokolle ausgelatschte Trampelpfade und keine labile Hängebrücke über einer Schlucht.