I have a following situation.
I have a REST client, that acts as a facade towards 3 other REST clients. (I'm programming in Java, using Spring Boot)
One of the responsibilites of the client includes doing CRUD operations on users.
Now, all 3 other systems which expose their own REST APIs have some sort of user management.
When I receive a request to, for example, create user, I have to create them on those 3 systems via their REST APIs and persist in my database.
Now, in best case scenario, I just call their APIs, insert the user in my DB and everything is great.
However, consider the scenario where the creation of users suceeds on only 1 external service. Do I retry the operation on all others? Do I try to delete the user on ones it suceeded?
What is the correct way to do this?