Hej!
Mam nastepujacy problem:
Projekt RESTowy w architekturze mikrousług, gdzie zarządza nimi Consul a do komunikacji pomiedzy nimi wykorzystywany jest klient Feign ze Spring Clouda. Problem polega na tym, ze jedna usluga wywoluje drugą np. mikroserwis do autoryzacji, ktory dodaje konto uzytkownikowi, ale nie wiadomo ile to potrwa. Jesli przekroczony zostanie timeout to usluga ktora wywoluje mikroserwis autoryzacji co prawda rzuci wyjatek i przestanie nasluchiwac na odpowiedz z mikroserwisu autoryzacji, ale co z tego skoro konto uzytkownika sie doda ostatecznie (problem taki, ze w zbyt dlugim czasie i nikt na odpowiedz juz nie czeka). Oczekiwane zachowanie jest takie, ze mikroserwis autoryzacji dokona rollbacka dodania konta no bo operacja zakonczyla sie niepowodzeniem ze wzgledu na timeout. Pytanie czy da sie poinformowac ten mikroserwis, ze juz nikt na jego odpowiedz nie czeka i ze trzeba cofnac to co sie dokonalo? Czy mozna jakos to zrobic w konfiguracji Feigna, Hystrixa, Springa? Nic takiego nie udalo mi sie znalezc.
Wyjątek rzucany w serwisie ktory wywoluje serwis autoryzacji to:
feign.RetryableException: Read timed out executing POST http://auth-service/accounts