2. GraphQL-Subscription
Das Sequenzdiagramm für GraphQL-Subscriptions veranschaulicht, wie man von der ereignisgesteuerten Architektur profitiert, die im GeoPard-Kern implementiert ist. Bei jeder Änderung der verknüpften Entitäten
sendet die GeoPard-API umgehend ein Ereignis, das die betroffenen Entitäten und die entsprechende Operation erfasst (EINFÜGEN, ÄNDERN, ENTFERNEN). Der Umfang dieser Subscriptions ist weitreichend und deckt alle Entitäten wie Farm, Feld, Satellitenbild, Bodendatensatz, AsApplied-Datensatz, Ertragsdatensatz, Topographiekarte, Notizen usw. ab.
Die GraphQL-Subscription (Anfrage 1 oder R1) läuft über ein WebSocket, auf dem alle Ereignisse nahezu in Echtzeit zugestellt werden und so die sofortige Kommunikation von Änderungen sicherstellen.
Der Empfänger der Subscription-Ereignisse sollte als einfacher Dienst fungieren, der dafür verantwortlich ist, die empfangenen Ereignisse an einen nachfolgenden Dienst weiterzuleiten, in dem die Verarbeitungslogik angewendet wird. Es ist entscheidend, dass dieser Empfänger selbst keine Verarbeitungsaufgaben übernimmt.
Sollten darüber hinaus Ereignisse verpasst oder verloren gegangen sein, haben Nutzer die Möglichkeit, diese abzurufen. Dies wird erreicht, indem eine GraphQL-Abfrage für einen bestimmten Datumsbereich und Entitäten (Benutzer, Farm, Feld) ausgeführt wird, wodurch eine vollständige Wiederherstellung vergangener Ereignisse ermöglicht wird (Anfrage 2 oder R2). Diese Funktionalität stellt sicher, dass keine Informationen verloren gehen und die Integrität sowie Konsistenz der Benutzerdaten gewahrt bleiben.

Zuletzt aktualisiert
War das hilfreich?