Ho una situazione seguente.
Possiedo un client REST che funge da facciata verso altri 3 client REST. (Sto programmando in Java, utilizzando Spring Boot)Come rendere transazionali/atomici più richieste REST?
Una delle responsabilità del client include l'esecuzione di operazioni CRUD sugli utenti.
Ora, tutti gli altri 3 sistemi che espongono le proprie API REST hanno una sorta di gestione degli utenti.
Quando ricevo una richiesta, ad esempio, per creare un utente, devo crearli su quei 3 sistemi tramite le API REST e persistere nel mio database.
Ora, nel migliore dei casi, ho appena chiamato le loro API, inserire l'utente nel mio DB e tutto è perfetto.
Tuttavia, considerare lo scenario in cui la creazione di utenti supera solo 1 servizio esterno. Riprovare l'operazione su tutti gli altri? Cerco di eliminare l'utente su quelli che ha superato?
Qual è il modo corretto per farlo?
Prova a considerare l'intera transazione come una risorsa. – chrylis