Ich arbeite in Feldrobotik und wir haben einen zentralen Server verfolgt einen ganzen Haufen von Daten mit Fahrzeugzustand, Umgebungszustand, Aufgaben, Aufgabengruppierung und so weiter zu tun. Es gibt Prozesse, die sich mit verschiedenen Teilen dieser Daten befassen, und Benutzeroberflächen, die aktualisiert werden müssen, wenn bestimmte Teile sich ändern.Verteiltes Datenmodell
Was ich möchte, ist eine Möglichkeit für Systeme, eine Verbindung zum zentralen Server herzustellen und einen Teil der Daten zu abonnieren. Sie erhalten alle Daten, die an sie weitergeleitet werden, und alle Änderungen, die gesendet werden, wenn sie passieren. Zusätzlich möchte ich in der Lage sein zu nominieren, dass bestimmte Updates zusammengeführt werden können: wenn ein Fahrzeug 3 Mal bewegt wurde, aber die angeschlossene Benutzeroberfläche nicht viel Bandbreite hat, wird nur die letzte Position gesendet.
Momentan denke ich eine In-Memory-Datenbank, die Clientabonnementabfragen verfolgt und Deltas berechnet, die an sie gesendet werden. Gibt es einen besseren Weg oder eine bestehende Lösung für die Verteilung eines Datenmodells?