Czytam długo o stateful vs stateless microservices i dalej nie czaję tematu i mam wrażenie, że każdy w google pisze co innego.
Jak mam koszyk w sklepie internetowym i dodaje produkty to mikroserwis, gdzie mamy endpoint /cart/addItem POST i zapisujemy w bazie koszyk jest stateless czy stateful? Bo teoretycznie w tym poscie wysyłamy id koszyka, które już wcześniej otrzymaliśmy z endpointa (więc kolejne requesty polegają na poprzednich) oraz produkty, a z drugiej strony w metodzie kontrolera pobieramy koszyk z bazy i tam dodajemy produkty. Czyli tutaj jest stateless bo posiłkujemy się zewnętrzną bazą czy stateful bo wysyłamy utworzony wcześniejkoszyk?
Co w przypadku security? Musimy wysyłać jakieś ciasteczko, token itd, czyli tutaj stan jest dzielony między requestami czyli interceptor ktory sprawdza sesje uzytkownika jest stateful?
Można
Jak mam koszyk w sklepie internetowym i dodaje produkty to mikroserwis, gdzie mamy endpoint /cart/addItem POST i zapisujemy w bazie koszyk jest stateless czy stateful? Bo teoretycznie w tym poscie wysyłamy id koszyka, które już wcześniej otrzymaliśmy z endpointa (więc kolejne requesty polegają na poprzednich) oraz produkty, a z drugiej strony w metodzie kontrolera pobieramy koszyk z bazy i tam dodajemy produkty. Czyli tutaj jest stateless bo posiłkujemy się zewnętrzną bazą czy stateful bo wysyłamy utworzony wcześniejkoszyk?
Co w przypadku security? Musimy wysyłać jakieś ciasteczko, token itd, czyli tutaj stan jest dzielony między requestami czyli interceptor ktory sprawdza sesje uzytkownika jest stateful?
Można
Napisałem taką metodę, ale dostaje MultipleBagFetchException:
@query("select s from booking_screening s join fetch s.seats se join fetch se.bookings b where b.id = :bookingId")
Optional<Screening> readByBookingId(@Param("bookingId") Long booking);
#java #spring