Dies ist die übliche Folge von zwei verteilten Komponenten in unserer Java-Anwendung:
1 A sends request to B
2 B starts some job J in parallel thread
3 B returns response to A
4 A accepts response
5 Job finishes after some time
6 Job sends information to A
7 A receives response from a Job and updates
Dies ist das ideale Szenario, vorausgesetzt, alles funktioniert. Natürlich ist das wirkliche Leben voller Misserfolge. Einer der schlimmsten Fälle kann beispielsweise sein, dass ein #6Fehler nur aufgrund des Netzwerks auftritt: Der Job wurde korrekt ausgeführt, Aweiß jedoch nichts darüber.
Ich suche nach einem einfachen Ansatz zum Verwalten von Fehlern in diesem System. Beachten Sie, dass wir viele Komponenten haben. Daher ist es nicht sinnvoll, sie alle nur aufgrund der Fehlerbehandlung zu gruppieren. Als nächstes habe ich die Verwendung von verteiltem Speicher / Repo, der aus demselben Grund erneut auf jeder Komponente installiert werden würde, aufgegeben.
Meine Gedanken gehen in die Richtung, einen absoluten Zustand auf einem B zu haben und niemals einen anhaltenden Zustand auf einem A. Dies bedeutet Folgendes:
- bevor
#1wir darauf hinweisen,Adass die Arbeitseinheit, dh die Änderung , gleich beginnt - Nur
Bdarf dieser Status aufgehoben werden. AkannBjederzeit Informationen abrufen , um den Status zu aktualisieren.- Es kann keine neue Änderung an derselben Einheit aufgerufen werden
A.
Was denken Sie? Gibt es eine einfache Möglichkeit, die Fehler in einem solchen System zu zähmen?